丑数,算是看明白递归了,只是之前没想好怎么递归
class Solution {
public int nthUglyNumber(int n) {
int a=1,b=1,c=1;
int[] dp = new int[n+1];
dp[1]=1;
for(int i=2; i<=n; i++){
dp[i] = Math.min(Math.min(dp[a]*2,dp[b]*3),dp[c]*5);
if(dp[i]==dp[a]*2) a++;
if(dp[i]==dp[b]*3) b++;
if(dp[i]==dp[c]*5) c++;
}
return dp[n];
}
}
努力做好每一件事吧,不要想太多