Golang | Leetcode Golang题解之第313题超级丑数

题目:

题解:

Go 复制代码
func nthSuperUglyNumber(n int, primes []int) int {
    dp := make([]int, n+1)
    m := len(primes)
    pointers := make([]int, m)
    nums := make([]int, m)
    for i := range nums {
        nums[i] = 1
    }
    for i := 1; i <= n; i++ {
        minNum := math.MaxInt64
        for j := range pointers {
            minNum = min(minNum, nums[j])
        }
        dp[i] = minNum
        for j := range nums {
            if nums[j] == minNum {
                pointers[j]++
                nums[j] = dp[pointers[j]] * primes[j]
            }
        }
    }
    return dp[n]
}

func min(a, b int) int {
    if a < b {
        return a
    }
    return b
}
相关推荐
驰羽43 分钟前
[GO]gin框架:ShouldBindJSON与其他常见绑定方法
开发语言·golang·gin
坚持编程的菜鸟1 小时前
LeetCode每日一题——三角形的最大周长
算法·leetcode·职场和发展
小欣加油4 小时前
leetcode 143 重排链表
数据结构·c++·算法·leetcode·链表
猫梦www5 小时前
力扣21:合并两个有序链表
数据结构·算法·leetcode·链表·golang·力扣
爱coding的橙子5 小时前
每日算法刷题Day76:10.19:leetcode 二叉树12道题,用时3h
算法·leetcode·职场和发展
夏鹏今天学习了吗7 小时前
【LeetCode热题100(47/100)】路径总和 III
算法·leetcode·职场和发展
smj2302_796826527 小时前
解决leetcode第3721题最长平衡子数组II
python·算法·leetcode
m0_626535207 小时前
力扣题目练习 换水问题
python·算法·leetcode
一匹电信狗7 小时前
【LeetCode_160】相交链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
·白小白9 小时前
力扣(LeetCode) ——118.杨辉三角(C++)
c++·算法·leetcode