劍指offer----丑數(shù)

題目:把只包含因子2、3和5的數(shù)稱作丑數(shù)(Ugly Number)犀填。例如6萌京、8都是丑數(shù),但14不是宏浩,因為它包含因子7知残。 習(xí)慣上我們把1當(dāng)做是第一個丑數(shù)。求按從小到大的順序的第N個丑數(shù)比庄。

public class Solution {
    public int GetUglyNumber_Solution(int index) {
        if(index < 7){
            return index;
        }
        int[] res = new int[index];
        res[0] = 1;
        int t2 = 0, t3 = 0, t5 = 0;
        for(int i = 1; i < index; i++){
            res[i] = getMin(2 * res[t2], 3 * res[t3], 5 * res[t5]);
            if(res[i] == 2 * res[t2]) t2++;
            if(res[i] == 3 * res[t3]) t3++;
            if(res[i] == 5 * res[t5]) t5++;
        }
        return res[index - 1];
    }
    int getMin(int i, int j, int k){
        return i < j ? (i < k ? i : k) : (j < k ? j :k);
    }
}

通過題目可以知道一個丑數(shù)是一個因子只有2求妹,3,5的數(shù)佳窑,題目要求我們求出第n個丑數(shù)制恍,我們可以通過從頭構(gòu)建的形式一步一個腳印的推到每一個丑數(shù),這就需要一些技巧了神凑。

  • 首先净神,我們用一個數(shù)組按從小到大的順序存儲獲得的丑數(shù)何吝,并初始化以第一個丑數(shù)
  • 我們可以知道,一個丑數(shù)一定可以通過之前的某一個丑數(shù)?2or3or5來得到
  • 所以我們定義了三個指針分別表述2鹃唯,3爱榕,5上次被用來獲取丑數(shù)的位置,也是用來維護(hù)下一次我能夠獲得的丑數(shù)的位置
    (假設(shè)上一次通過2 * 丑數(shù)4獲得了一個丑數(shù)8坡慌,然后我們下一次再通過2來獲得丑數(shù)就是2* 丑數(shù)4之后的丑數(shù)了黔酥,也就是5,我們下一次可以通過2*5來獲得一個丑數(shù))
  • 定一個了三個指針之后洪橘,開始真正的生成丑數(shù)跪者,通過比較用2,3熄求,5三個指針來獲取的丑數(shù)的大小渣玲,選取最小的結(jié)果做為下一個丑數(shù),并將相應(yīng)的指針向后移動一位弟晚。
  • 直到獲得了第n個指針柜蜈,return
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市指巡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隶垮,老刑警劉巖藻雪,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狸吞,居然都是意外死亡勉耀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蹋偏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來便斥,“玉大人,你說我怎么就攤上這事威始∈嗑溃” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵黎棠,是天一觀的道長晋渺。 經(jīng)常有香客問我,道長脓斩,這世上最難降的妖魔是什么木西? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮随静,結(jié)果婚禮上八千,老公的妹妹穿的比我還像新娘吗讶。我一直安慰自己,他們只是感情好恋捆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布照皆。 她就那樣靜靜地躺著,像睡著了一般鸠信。 火紅的嫁衣襯著肌膚如雪纵寝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天星立,我揣著相機(jī)與錄音爽茴,去河邊找鬼。 笑死绰垂,一個胖子當(dāng)著我的面吹牛室奏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劲装,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胧沫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了占业?” 一聲冷哼從身側(cè)響起绒怨,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谦疾,沒想到半個月后南蹂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡念恍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年六剥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峰伙。...
    茶點(diǎn)故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡疗疟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瞳氓,到底是詐尸還是另有隱情策彤,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布匣摘,位于F島的核電站锅锨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏恋沃。R本人自食惡果不足惜必搞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望囊咏。 院中可真熱鬧恕洲,春花似錦塔橡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泌类,卻和暖如春癞谒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刃榨。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工弹砚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人枢希。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓桌吃,卻偏偏與公主長得像,于是被迫代替她去往敵國和親苞轿。 傳聞我的和親對象是個殘疾皇子茅诱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 《四柱特訓(xùn)班講義》一書,是筆者根據(jù)2003年春舉辦的四柱特訓(xùn)班講課記錄的基礎(chǔ)上整理出來的搬卒。它是以《四柱詳真》...
    小狐貍娃娃閱讀 11,828評論 1 29
  • 本系列導(dǎo)航:劍指offer(第二版)java實(shí)現(xiàn)導(dǎo)航帖 面試題49:丑數(shù) 題目要求:我們把只包含因子2,3,5的數(shù)...
    ryderchan閱讀 897評論 0 1
  • 1.把二元查找樹轉(zhuǎn)變成排序的雙向鏈表 題目: 輸入一棵二元查找樹瑟俭,將該二元查找樹轉(zhuǎn)換成一個排序的雙向鏈表。 要求不...
    曲終人散Li閱讀 3,318評論 0 19
  • 應(yīng)用場景: 現(xiàn)在眾多app中都會有清楚緩存的功能,怎么能精確的計算緩存文件的大小,從而清除緩存文件呢,下面對清楚功...
    Mr_Bob_閱讀 1,728評論 7 19
  • 過去我傷害到了很多人契邀,如果可以重新選擇的話摆寄,我會好好的經(jīng)營這些關(guān)系,而不是武斷的下結(jié)論.....
    額不是貓咪閱讀 67評論 0 0