public class Test6 {
public static void main(String[] args) {
System.out.println(getUglyNumber(10));
}
public static int getUglyNumber(int n) {
if (n <= 0) {
return 0;
}
int[] arr = new int[n];
arr[0] = 1;
int mul2 = 0;
int mul3 = 0;
int mul5 = 0;
for (int i = 1; i < n; i++) {
int min = Math.min(arr[mul2] * 2, Math.min(arr[mul3] * 3, arr[mul5] * 5));
arr[i] = min;
if (arr[mul2]*2==min){
mul2++;
}
if (arr[mul3]*3==min){
mul3++;
}
if (arr[mul5]*5==min){
mul5++;
}
}
return arr[n-1];
}
}
【算法题】求第N个丑数
最新推荐文章于 2022-02-17 16:46:14 发布