日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

86. Leetcode 264. 丑数 II (动态规划-基础题)

發(fā)布時(shí)間:2025/4/5 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 86. Leetcode 264. 丑数 II (动态规划-基础题) 小編覺(jué)得挺不錯(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前面沒(méi)乘過(guò)2的最小丑數(shù)的位置

dp[l3] * 3: l3表示的是i前面沒(méi)乘過(guò)3的最小丑數(shù)的位置

dp[l5] * 5: l5表示的是i前面沒(méi)乘過(guò)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]

import heapqclass Solution:def nthUglyNumber(self, n: int) -> int:dp = [0] * ndp[0] = 1pos_2, pos_3, pos_5 = 0, 0, 0for i in range(1, n):dp[i] = min(dp[pos_2] * 2, dp[pos_3] * 3, dp[pos_5] * 5)if dp[pos_2] * 2 == dp[i]:pos_2 += 1if dp[pos_3] * 3 == dp[i]:pos_3 += 1if dp[pos_5] * 5 == dp[i]:pos_5 += 1return dp[-1]

總結(jié)

以上是生活随笔為你收集整理的86. Leetcode 264. 丑数 II (动态规划-基础题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。