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];
    }
};
相关推荐
编程侦探32 分钟前
【设计模式】原型模式:用“克隆”术让对象创建更灵活
c++·设计模式·原型模式
luckyme_1 小时前
leetcode-代码随想录-哈希表-哈希理论基础
leetcode·哈希算法·散列表
Once_day1 小时前
Linux错误(6)X64向量指令访问地址未对齐引起SIGSEGV
linux·c++·sse·x64·sigsegv·xmm0
JhonKI2 小时前
【从零实现Json-Rpc框架】- 项目实现 - 客户端注册主题整合 及 rpc流程示意
c++·qt·网络协议·rpc·json
__lost2 小时前
为什么new分配在堆上,函数变量在栈上+递归调用时栈内存的变化过程
c++·内存分配
序属秋秋秋2 小时前
算法基础_基础算法【位运算 + 离散化 + 区间合并】
c语言·c++·学习·算法·蓝桥杯
jyyyx的算法博客2 小时前
【再探图论】深入理解图论经典算法
c++·算法·图论
念_ovo2 小时前
【算法/c++】利用中序遍历和后序遍历建二叉树
数据结构·c++·算法
梭七y2 小时前
【力扣hot100题】(048)二叉树的最近公共祖先
算法·leetcode·职场和发展
luckyme_3 小时前
leetcode-代码随想录-链表-移除链表元素
算法·leetcode·链表