题目:
超级丑数 是一个正整数,并满足其所有质因数都出现在质数数组 primes 中。
给你一个整数 n 和一个整数数组 primes ,返回第 n 个 超级丑数 。
题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。
解法:
毁灭吧,累了
leetcode.cn/problems/su…
import "math"
func nthSuperUglyNumber(n int, primes []int) int {
dp := make([]int, n)
points := make([]int, len(primes))
dp[0] = 1
for i := 1; i < n; i ++ {
dp[i] = math.MaxInt32
for j := range primes {
if primes[j] * dp[points[j]] < dp[i] {
dp[i] = primes[j] * dp[points[j]]
}
}
for j := range primes {
if dp[i] == dp[points[j]] * primes[j] {
points[j] ++
}
}
}
return dp[n - 1]
}