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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《剑指offer》第四十九题(丑数)

發布時間:2025/6/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《剑指offer》第四十九题(丑数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 面試題49:丑數 // 題目:我們把只包含因子2、3和5的數稱作丑數(Ugly Number)。求按從小到 // 大的順序的第1500個丑數。例如6、8都是丑數,但14不是,因為它包含因子7。 // 習慣上我們把1當做第一個丑數。 #include <iostream>// ====================算法1的代碼==================== //不用額外的內存,直接計算 bool IsUgly(int number)//判斷是不是丑數 {while (number % 2 == 0)number /= 2;while (number % 3 == 0)number /= 3;while (number % 5 == 0)number /= 5;return (number == 1) ? true : false; }int GetUglyNumber_Solution1(int index) {if (index <= 0)return 0;int number = 0;int uglyFound = 0;while (uglyFound < index)//從頭到尾開始計算 {++number;if (IsUgly(number))++uglyFound;}return number; }// ====================算法2的代碼==================== //使用內存,只計算丑數,節省時間 int Min(int number1, int number2, int number3);int GetUglyNumber_Solution2(int index) {if (index <= 0)return 0;int *pUglyNumbers = new int[index];pUglyNumbers[0] = 1;int nextUglyIndex = 1;int *pMultiply2 = pUglyNumbers;//用來存儲前面丑數的二倍值中,剛好大于當前最大丑數的數值int *pMultiply3 = pUglyNumbers;//三倍int *pMultiply5 = pUglyNumbers;//五倍while (nextUglyIndex < index){int min = Min(*pMultiply2 * 2, *pMultiply3 * 3, *pMultiply5 * 5);//將這三個值中最小值作為下一個丑數存儲pUglyNumbers[nextUglyIndex] = min;while (*pMultiply2 * 2 <= pUglyNumbers[nextUglyIndex])//更新這三個值++pMultiply2;while (*pMultiply3 * 3 <= pUglyNumbers[nextUglyIndex])++pMultiply3;while (*pMultiply5 * 5 <= pUglyNumbers[nextUglyIndex])++pMultiply5;++nextUglyIndex;}int ugly = pUglyNumbers[nextUglyIndex - 1];delete[] pUglyNumbers;return ugly; }int Min(int number1, int number2, int number3) {int min = (number1 < number2) ? number1 : number2;min = (min < number3) ? min : number3;return min; }// ====================測試代碼==================== void Test(int index, int expected) {if (GetUglyNumber_Solution1(index) == expected)printf("solution1 passed\n");elseprintf("solution1 failed\n");if (GetUglyNumber_Solution2(index) == expected)printf("solution2 passed\n");elseprintf("solution2 failed\n"); }int main(int argc, char* argv[]) {Test(1, 1);Test(2, 2);Test(3, 3);Test(4, 4);Test(5, 5);Test(6, 6);Test(7, 8);Test(8, 9);Test(9, 10);Test(10, 12);Test(11, 15);Test(1500, 859963392);Test(0, 0);system("pause");return 0; }

?

轉載于:https://www.cnblogs.com/CJT-blog/p/10526308.html

總結

以上是生活随笔為你收集整理的《剑指offer》第四十九题(丑数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 揄拍成人国产精品视频 | 午夜剧场免费看 | 成人午夜视频一区二区播放 | 国产伦精品一区二区三区高清 | 青草精品视频 | 美丽姑娘免费观看在线观看 | 调教女m荡骚贱淫故事 | av片亚洲 | 国产一区二区精品久久 | 久久成人综合 | 奇米狠狠777 | 钻石午夜影院 | 激情天天 | 激情专区| 亚洲网站av| 国产美女无遮挡免费 | 亚洲生活片 | 亚洲色精品三区二区一区 | 91精品国产综合久久精品图片 | 91原创视频在线观看 | 国产床上视频 | 樱花动漫无圣光 | av高清一区二区 | 国产电影免费观看高清完整版视频 | 亚洲区小说区 | 青青草99| 丁香免费视频 | 农村老妇性真猛 | 欧美激情精品久久久久久蜜臀 | 久久国产情侣 | m3u8成人免费视频 | 欧美视频www | 新超碰97 | 精品欧美一区二区三区免费观看 | 国产女主播福利 | 免费观看在线视频 | 久久成人综合 | 国产99999 | 紧身裙女教师三上悠亚红杏 | 国产无码精品在线观看 | 色婷婷在线影院 | 欧美日本亚洲韩国国产 | 国产精品视频一区二区三区, | 久久久久久久久久久久国产 | 丁香婷婷在线观看 | 国产91在线观看 | 欧美一区二区三区久久久 | 波多野结衣av中文字幕 | 日本欧美一区二区三区 | 秋霞在线观看秋 | 午夜精品久久久久久久无码 | av在线电影网站 | 久久久久女 | 狠狠91| 日本黄色播放器 | 无码人妻一区二区三区免费n鬼沢 | 免费av观看网址 | 亚洲精品20p | 日本精品三级 | 午夜精品一区二区三区在线观看 | 视频精品久久 | 超碰伊人久久 | 香蕉久久久 | 夜色成人网 | 亚洲第一在线 | 春色网站 | 成人人人人人欧美片做爰 | 91精品国产高清一区二区三蜜臀 | 把高贵美妇调教成玩物 | 欧美黄色录像视频 | 狠狠干影院 | www.九九九 | 中文字幕av在线免费观看 | 找av123导航 67194国产 | 国产婷婷一区二区三区 | 国产亚洲系列 | 毛片麻豆 | 在线观看日本一区二区 | 日韩欧美一区二区三区四区五区 | 69久久久久| 动漫艳母在线观看 | 波多野结衣中文字幕一区二区 | 天堂av在线资源 | 精品国产三级片在线观看 | 中文字幕第一页久久 | 超碰人人99 | 久久大尺度 | 亚洲伦理中文字幕 | 土耳其xxxx性hd极品 | 麻豆传媒网站在线观看 | 美女131爽爽爽 | 激情午夜网 | 性日本xxx| 在线视频 中文字幕 | 国语对白 | 日本成人一二三区 | 午夜福利电影一区 | 玖玖爱精品 | 欧美成人精品一区二区综合免费 |