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
}
相关推荐
希望201711 分钟前
Golang | http/server & Gin框架简述
http·golang·gin
岁忧3 小时前
(LeetCode 每日一题) 3541. 找到频率最高的元音和辅音 (哈希表)
java·c++·算法·leetcode·go·散列表
NG WING YIN8 小时前
Golang關於信件的
开发语言·深度学习·golang
·云扬·12 小时前
【Leetcode hot 100】101.对称二叉树
算法·leetcode·职场和发展
silver988613 小时前
再谈golang的sql链接dsn
mysql·golang
睡不醒的kun16 小时前
leetcode算法刷题的第三十二天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
刘媚-海外20 小时前
Go语言开发AI应用
开发语言·人工智能·golang·go
deepwater_zone20 小时前
Go语言核心技术
后端·golang