日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 263. 丑数 264. 丑数 II(DP)

發(fā)布時(shí)間:2024/7/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 263. 丑数 264. 丑数 II(DP) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1. LeetCode 263. 丑數(shù)
      • 解題
    • 2. LeetCode 264. 丑數(shù) II
      • DP解題

1. LeetCode 263. 丑數(shù)

編寫一個(gè)程序判斷給定的數(shù)是否為丑數(shù)。

丑數(shù)就是只包含質(zhì)因數(shù) 2, 3, 5 的正整數(shù)。

示例 1: 輸入: 6 輸出: true 解釋: 6 = 2 × 3示例 2: 輸入: 8 輸出: true 解釋: 8 = 2 × 2 × 2示例 3: 輸入: 14 輸出: false 解釋: 14 不是丑數(shù),因?yàn)樗肆硗庖粋€(gè)質(zhì)因數(shù) 7。 說明: 1 是丑數(shù)。 輸入不會(huì)超過 32 位有符號(hào)整數(shù)的范圍: [?2^31, 2^31 ? 1]

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/ugly-number
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

解題

  • 類似題目:
    LeetCode 1201. 丑數(shù) III(最小公倍數(shù)+二分查找)
    程序員面試金典 - 面試題 17.09. 第 k 個(gè)數(shù)(set優(yōu)先隊(duì)列/DP)
    LeetCode 313. 超級(jí)丑數(shù)(動(dòng)態(tài)規(guī)劃)
    LeetCode 878. 第 N 個(gè)神奇數(shù)字(二分查找)
class Solution { public:bool isUgly(int num) {if(num < 0)return false;int n;while(num != 1){n = num;//記錄原數(shù)if(num%2 == 0)num /= 2;if(num%3 == 0)num /= 3;if(num%5 == 0)num /= 5;if(n == num) //操作下來,數(shù)沒變return false;}return true;} };

2. LeetCode 264. 丑數(shù) II

編寫一個(gè)程序,找出第 n 個(gè)丑數(shù)。

丑數(shù)就是只包含質(zhì)因數(shù) 2, 3, 5 的正整數(shù)。

示例: 輸入: n = 10 輸出: 12 解釋: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 個(gè)丑數(shù)。 說明: 1 是丑數(shù)。 n 不超過1690

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/ugly-number-ii
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

DP解題

  • 類似題目:程序員面試金典 - 面試題 17.09. 第 k 個(gè)數(shù)(set優(yōu)先隊(duì)列/DP)
  • 參考別人的解法
  • 每次將前面的所有數(shù)乘以 k ( 2,3,5 ),取比前一個(gè)丑數(shù) Ui-1 大,且最小的
  • 但是不必遍歷前面所有數(shù),因?yàn)?前面有一個(gè)丑數(shù) Ux* k <= Ui-1 ,x++,那么前面式子不成立的時(shí)候,下標(biāo) x 就是下次 乘以 k 的丑數(shù)位置
class Solution { public:int nthUglyNumber(int n) {int dp[n+1] = {0};dp[1] = 1;int i2=1, i3=1, i5=1;for(int i = 2; i <= n; i++){dp[i] = min(dp[i2]*2, min(dp[i3]*3, dp[i5]*5));if(dp[i2]*2 == dp[i])i2++;if(dp[i3]*3 == dp[i])i3++;if(dp[i5]*5 == dp[i])i5++;}return dp[n];} };

  • 優(yōu)先隊(duì)列
class Solution { public:int nthUglyNumber(int n) {set<long> s;s.insert(1);int count = 0;long tp;while(count != n){count++;tp = *s.begin();s.erase(s.begin());s.insert(tp*2);s.insert(tp*3);s.insert(tp*5);}return tp;} };

總結(jié)

以上是生活随笔為你收集整理的LeetCode 263. 丑数 264. 丑数 II(DP)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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