leetcode題 264 醜數 II(中等)

2021-09-26 04:01:34 字數 654 閱讀 7617

一、題目描述: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 是醜...