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
}
相关推荐
爱coding的橙子2 小时前
每日算法刷题Day84:11.11:leetcode 动态规划9道题,用时2h
算法·leetcode·动态规划
百***41663 小时前
Go-Gin Web 框架完整教程
前端·golang·gin
Kt&Rs5 小时前
11.11 LeetCode 题目汇总与解题思路
算法·leetcode·哈希算法
py有趣5 小时前
LeetCode算法学习之有效的字母异位词
学习·算法·leetcode
猫头虎5 小时前
Rust评测案例:Rust、Java、Python、Go、C++ 实现五大排序算法的执行时间效率比较(基于 OnlineGDB 平台)
java·开发语言·c++·python·golang·rust·排序算法
蒙奇D索大12 小时前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
像风一样自由202013 小时前
Go语言入门指南-从零开始的奇妙之旅
开发语言·后端·golang
小白程序员成长日记14 小时前
2025.11.10 力扣每日一题
数据结构·算法·leetcode
kgduu16 小时前
go-ethereum之rpc
开发语言·rpc·golang
dragoooon3416 小时前
[优选算法专题六.模拟 ——NO.40~41 外观数列、数青蛙]
数据结构·算法·leetcode