C++ | Leetcode C++题解之第264题丑数II

题目:

题解:

cpp 复制代码
class Solution {
public:
    int nthUglyNumber(int n) {
        vector<int> dp(n + 1);
        dp[1] = 1;
        int p2 = 1, p3 = 1, p5 = 1;
        for (int i = 2; i <= n; i++) {
            int num2 = dp[p2] * 2, num3 = dp[p3] * 3, num5 = dp[p5] * 5;
            dp[i] = min(min(num2, num3), num5);
            if (dp[i] == num2) {
                p2++;
            }
            if (dp[i] == num3) {
                p3++;
            }
            if (dp[i] == num5) {
                p5++;
            }
        }
        return dp[n];
    }
};
相关推荐
仰泳的熊猫20 小时前
题目2194:蓝桥杯2018年第九届真题-递增三元组
数据结构·c++·算法
Tisfy20 小时前
LeetCode 1888.使二进制字符串字符交替的最少反转次数:前缀和O(1)
算法·leetcode·字符串·题解
2301_8035545220 小时前
linux 以及 c++编程里对于进程,线程的操作
linux·运维·c++
滴滴答滴答答21 小时前
机考刷题之 9 LeetCode 503 下一个更大元素 II
算法·leetcode·职场和发展
啊哦呃咦唔鱼21 小时前
LeetCode hot100-15 三数之和
数据结构·算法·leetcode
_日拱一卒21 小时前
LeetCode(力扣):杨辉三角||
算法·leetcode·职场和发展
小糯米60121 小时前
C++ 排序
c++·算法·排序算法
EverestVIP21 小时前
c++前置声明的方式与说明
开发语言·c++
Nontee1 天前
Leetcode Top100答案和解释 -- Python版本(链表)
算法·leetcode·链表