264. 丑数 II 力扣(中等) 动态规划,不会
作者:互联网
264. 丑数 II
给你一个整数 n
,请你找出并返回第 n
个 丑数 。
丑数 就是只包含质因数 2
、3
和/或 5
的正整数。
示例 1:
输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。
题解: 代码:
class Solution { public: int nthUglyNumber(int n) { int dp[1700]; dp[1]=1; int p2=1,p3=1,p5=1; for(int i=2;i<=n;i++) { dp[i]=min(dp[p2]*2,min(dp[p3]*3,dp[p5]*5)); /*if(dp[i]==dp[p2]*2) p2++; else if(dp[i]==dp[p3]*3) p3++; else p5++;*/ //这种写法错误,因为要保证数字不重复,且递增,所以同样的值都要往后移位 if(dp[i]==dp[p2]*2) p2++; if(dp[i]==dp[p3]*3) p3++; if(dp[i]==dp[p5]*5) p5++; } return dp[n]; } };View Code
标签:丑数,10,int,II,力扣,264,dp 来源: https://www.cnblogs.com/stepping/p/15120427.html