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];
    }
};
相关推荐
谭欣辰13 分钟前
AC自动机:多模式匹配的高效利器
数据结构·c++·算法
三月微暖寻春笋35 分钟前
【和春笋一起学C++】(六十三)虚函数特性(二)
c++·基类·派生类·虚函数特性
历程里程碑36 分钟前
MySQL事务深度解析:ACID到MVCC实战+万字长文解析
开发语言·数据结构·数据库·c++·sql·mysql·排序算法
sheeta199837 分钟前
LeetCode 每日一题笔记 日期:2026.04.21 题目:1722. 执行交换操作后的最小汉明距离
笔记·算法·leetcode
鲸渔1 小时前
【C++ 跳转语句】break、continue、goto 与 return
开发语言·c++·算法
玛丽莲茼蒿2 小时前
Leetcode hot100 买卖股票的最佳时机【简单】
算法·leetcode·职场和发展
syker2 小时前
AIFerric v2.0 项目总结报告
c语言·开发语言·c++
ShineWinsu2 小时前
对于Linux:进程间通信IPC(命名管道)的解析
linux·c++·面试·笔试·进程·ipc·命名管道
阿Y加油吧2 小时前
两道 LeetCode 题的复盘笔记:从「只会暴力」到「懂优化」
笔记·算法·leetcode
We་ct2 小时前
LeetCode 300. 最长递增子序列:两种解法从入门到优化
开发语言·前端·javascript·算法·leetcode·typescript