给你一个整数 n
,请你找出并返回第 n
个 丑数 。
丑数 就是只包含质因数 2
、3
和/或 5
的正整数。
输入:n = 10
输出:12
解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。
示例 2:
输入:n = 1
输出:1
解释:1 通常被视为丑数。
import java.util.HashSet;
import java.util.Set;
class Solution {
public int nthUglyNumber(int n) {
int ans[]=new int[n];
ans[0]=1;
int index2=0,index3=0,index5=0;
for(int i=1;i<n;i++)
{
int t2=ans[index2]*2,t3=ans[index3]*3,t5=ans[index5]*5;
int mi=Math.min(t2, Math.min(t3, t5));
if(t2==mi)
index2++;
if(t3==mi)
index3++;
if(t5==mi)
index5++;
ans[i]=mi;
}
return ans[n-1];
}
}