C语言 | Leetcode C语言题解之第264题丑数II

题目:

题解:

cpp 复制代码
int nthUglyNumber(int n) {
    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] = fmin(fmin(num2, num3), num5);
        if (dp[i] == num2) {
            p2++;
        }
        if (dp[i] == num3) {
            p3++;
        }
        if (dp[i] == num5) {
            p5++;
        }
    }
    return dp[n];
}
相关推荐
谏君之1 小时前
C语言实现的常见算法示例
c语言·算法·排序算法
曾浩轩1 小时前
51单片机学习之旅——C语言小知识
c语言·学习·51单片机
Want5952 小时前
C/C++跳动的爱心
c语言·开发语言·c++
kongba0072 小时前
Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范
c语言·arm开发·单片机
小王努力学编程3 小时前
【算法与数据结构】单调队列
数据结构·c++·学习·算法·leetcode
LaoZhangGong1233 小时前
STM32的“Unique device ID“能否修改?
c语言·经验分享·stm32·单片机·嵌入式硬件
让我们一起加油好吗5 小时前
【排序算法】六大比较类排序算法——插入排序、选择排序、冒泡排序、希尔排序、快速排序、归并排序【详解】
c语言·算法·排序算法
夏末秋也凉5 小时前
力扣-贪心-53 最大子数组和
数据结构·算法·leetcode
老猿讲编程8 小时前
安全C语言编码规范概述
c语言·开发语言·安全
leeyayai_xixihah11 小时前
2.21力扣-回溯组合
算法·leetcode·职场和发展