题目的链接在这里:https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b
- 题目大意
- 一、示意图
- 二、解题思路
- 错误代码
- arrayList
题目大意 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。
数据范围:0 le n le 20000≤n≤2000
要求:空间复杂度 O(n)O(n) , 时间复杂度 O(n)O(n)
一、示意图 二、解题思路
错误代码 arrayList错误代码
代码如下:
package LeetCode; import java.util.*; public class Test11 { final static int num=2000; public int GetUglyNumber_Solution(int index) { //好像是有关的数都赋值为丑数 丑数的2 3 5倍数也全都是丑数 //写一个函数来判断是不是丑数 boolean[] isUgly=new boolean[2000]; isUgly[1]=true; isUgly[2]=true; isUgly[3]=true; isUgly[5]=true; //然后开始遍历 如果这个数 除以 2 3 5的商是丑数 那他就是丑数 //这里除法出现了以外 7/5也等于1... 导致后面全是7 for(int i=1;iarrayList 代码如下:
import java.util.*; public class Solution { public int GetUglyNumber_Solution(int index) { //先进行边界判断 if(index<=0) { return 0; } ArrayListarrayList=new ArrayList<>(); int i2=0,i3=0,i5=0; arrayList.add(1); while (arrayList.size() 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)