86. Leetcode 264. 丑数 II (动态规划-基础题)
生活随笔
收集整理的這篇文章主要介紹了
86. Leetcode 264. 丑数 II (动态规划-基础题)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給你一個(gè)整數(shù) n ,請(qǐng)你找出并返回第 n 個(gè) 丑數(shù) 。丑數(shù) 就是只包含質(zhì)因數(shù)?2、3 和/或?5?的正整數(shù)。示例 1:輸入:n = 10
輸出:12
解釋:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 個(gè)丑數(shù)組成的序列。
示例 2:輸入:n = 1
輸出:1
解釋:1 通常被視為丑數(shù)。
步驟一、確定狀態(tài):
確定dp數(shù)組及初始化含義
dp用的是一維數(shù)組,長(zhǎng)度是n
dp[i]:第i個(gè)丑數(shù)
步驟二、推斷狀態(tài)方程:
dp[l2] * 2: l2表示的是i前面沒乘過2的最小丑數(shù)的位置
dp[l3] * 3: l3表示的是i前面沒乘過3的最小丑數(shù)的位置
dp[l5] * 5: l5表示的是i前面沒乘過5的最小丑數(shù)的位置
當(dāng)前的dp[i]也是選擇3個(gè)方向的最小值: dp[i] = min(dp[l2]*2, dp[l3]*3, dp[l5]*5)
步驟三、規(guī)定初始條件:
初始條件:
全局初始化都是0, dp[0]=1, 也就是第一個(gè)丑數(shù)是1
步驟四、計(jì)算順序:
從1開始正向遍歷 先計(jì)算第1階:dp[1] 計(jì)算第2階:dp[2]
... 計(jì)算第最后一階:dp[-1]
總結(jié)
以上是生活随笔為你收集整理的86. Leetcode 264. 丑数 II (动态规划-基础题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 85. Leetcode 746. 使用
- 下一篇: 87. Leetcode 343. 整数