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];
    }
};
相关推荐
☆平常心☆5 分钟前
UE5通过C++实现TcpSocket连接
c++·ue5
边跑边掩护35 分钟前
LeetCode 648 单词替换题解
算法·leetcode·职场和发展
dot to one1 小时前
Qt 中 QWidget涉及的常用核心属性介绍
开发语言·c++·qt
二年级程序员1 小时前
C++的历史与发展
c++
迷茫不知归路2 小时前
操作系统实验习题解析 上篇
c++·算法·操作系统·实验课设
一个尚在学习的计算机小白2 小时前
文件相关操作
c++
愚润求学2 小时前
【递归、搜索与回溯】专题一:递归(二)
c++·笔记·算法·leetcode
h汉堡2 小时前
C/C++内存管理
java·c语言·开发语言·c++·学习
大鱼BIGFISH2 小时前
C++ 字符格式化输出
c++·字符格式化输出
愚润求学2 小时前
【Linux】基础 IO(一)
linux·运维·服务器·开发语言·c++·笔记