C++ | Leetcode C++题解之第313题超级丑数

题目:

题解:

cpp 复制代码
class Solution {
public:
    int nthSuperUglyNumber(int n, vector<int>& primes) {
        vector<long> dp(n + 1);
        int m = primes.size();
        vector<int> pointers(m, 0);
        vector<long> nums(m, 1);
        for (int i = 1; i <= n; i++) {
            long minNum = INT_MAX;
            for (int j = 0; j < m; j++) {
                minNum = min(minNum, nums[j]);
            }
            dp[i] = minNum;
            for (int j = 0; j < m; j++) {
                if (nums[j] == minNum) {
                    pointers[j]++;
                    nums[j] = dp[pointers[j]] * primes[j];
                }
            }
        }
        return dp[n];
    }
};
相关推荐
Irissgwe8 小时前
类与对象(三)
开发语言·c++·类和对象·友元
️是788 小时前
信息奥赛一本通—编程启蒙(3395:练68.3 车牌问题)
数据结构·c++·算法
Liangwei Lin8 小时前
LeetCode 118. 杨辉三角
算法·leetcode·职场和发展
计算机安禾8 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法
雪度娃娃8 小时前
转向现代C++——优先选用nullptr而不是0和NULL
开发语言·c++
我星期八休息8 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
故事和你919 小时前
洛谷-【图论2-1】树5
开发语言·数据结构·c++·算法·动态规划·图论
paeamecium10 小时前
【PAT甲级真题】- String Subtraction (20)
数据结构·c++·算法·pat考试·pat
YL2004042610 小时前
047从前序与中序遍历序列构造二叉树
算法·leetcode
计算机安禾10 小时前
【c++面向对象编程】第25篇:仿函数(函数对象):重载operator()
开发语言·c++·算法