class Solution {
public int nthUglyNumber(int n) {
int[] dp=new int[n+1];
dp[1]=1;
int p2=1,p3=1,p5=1;
for(int i=2;i<=n;i++){
int a=dp[p2]*2,b=dp[p3]*3,c=dp[p5]*5;
dp[i]=Math.min(Math.min(a,b),c);
if(dp[i]==a)p2++;
if(dp[i]==b)p3++;
if(dp[i]==c)p5++;
}
return dp[n];
}
}
给你一个整数 n
,请你找出并返回第 n
个 丑数 。
说明:丑数是只包含质因数 2、3 和/或 5 的正整数;1 是丑数。