每个数会依次乘以2、3、5,从中找到最小的作为下一个待排序丑数
class Solution {
public int getUglyNumber(int n) {
int[] ans = new int[n];
ans[0] = 1;
int i2, i3, i5;
i2 = 0; i3 = 0; i5 = 0;
for(int i=1; i<n; i++){
ans[i] = Math.min(2*ans[i2], Math.min(3*ans[i3], 5*ans[i5]));
if(ans[i]==2*ans[i2]) i2++;
if(ans[i]==3*ans[i3]) i3++;
if(ans[i]==5*ans[i5]) i5++;
}
return ans[n-1];
}
}