标题:
题解:
- func nthUglyNumber(n int) int {
- dp := make([]int, n+1)
- dp[1] = 1
- p2, p3, p5 := 1, 1, 1
- for i := 2; i <= n; i++ {
- x2, x3, x5 := dp[p2]*2, dp[p3]*3, dp[p5]*5
- dp[i] = min(min(x2, x3), x5)
- if dp[i] == x2 {
- p2++
- }
- if dp[i] == x3 {
- p3++
- }
- if dp[i] == x5 {
- p5++
- }
- }
- return dp[n]
- }
- func min(a, b int) int {
- if a < b {
- return a
- }
- return b
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |