自学内容网 自学内容网

丑数动态规划

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 是丑数。


原文地址:https://blog.csdn.net/github_36510643/article/details/143824443

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!