一、題目描述:264. 醜數 ii(中等)
編寫乙個程式,找出第 n 個醜數。二、解題思路醜數就是只包含質因數 2, 3, 5 的正整數。
示例:輸入: n = 10
輸出: 12
解釋: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 個醜數。
說明:
1 是醜數。
n 不超過1690。
三指標動態規劃法
1、定義三個指標i2,i3,i5.分別表示當前2的倍數的最小值位置,3的倍數的最小值位置,5的倍數最小值位置。
2、每次計算獲取dp[i2]*2,dp[i3]*3,dp[i5]*5的最小值,放入佇列末尾。如果是最小值是dp[i2]*2則i2++,如果是dp[i3]*3 i3++,如果是dp[i5]*5 i5++。這裡為了避免重複,三個都要判斷一下
直到佇列總數為n跳出迴圈
另外還有乙個方法就是,使用乙個最小堆,每次將堆頂元素出堆,然後分別乘以2、3、5加入堆,直到取出的數量為n
三、**(三指標法)
class solution
//cout
}};
leetcode第264題 醜數 (動態規劃)
編寫乙個程式,找出第 n 個醜數。醜數就是只包含質因數 2,3,5 的正整數。示例 輸入 n 10 輸出 12 解釋 1,2,3,4,5,6,8,9,10,12 是前 10 個醜數。說明 1 是醜數。n 不超過1690。並不用每次都嘗試所有組合,我們需要過濾掉不可能的組合 已知2,3,5與已有醜數相...
Leetcode每日一題 264 醜數 II
給你乙個整數 n 請你找出並返回第 n 個 醜數 醜數 就是只包含質因數 2 3 和 或 5 的正整數。示例 1 輸入 n 10 輸出 12 解釋 1,2,3,4,5,6,8,9,10,12 是由前 10 個醜數組成的序列。示例 2 輸入 n 1 輸出 1 解釋 1 通常被視為醜數。很明顯,判斷每乙...
LeetCode刷題 醜數
編寫乙個程式判斷給定的數是否為醜數。醜數就是只包含質因數 2,3,5 的正整數。示例 1 輸入 6 輸出 true 解釋 6 2 3 示例 2 輸入 8 輸出 true 解釋 8 2 2 2 示例 3 輸入 14 輸出 false 解釋 14 不是醜數,因為它包含了另外乙個質因數 7。說明 1 是醜...