劍指offer系列 33 醜數

2021-10-08 21:29:46 字數 602 閱讀 4390

把只包含質因子2、3和5的數稱作醜數(ugly number)。 

例如6、8都是醜數,但14不是,因為它包含質因子7。

習慣上我們把1當做是第乙個醜數。

求按從小到大的順序的第n個醜數。

遍歷得出醜數

- 醜數結構2

^x*3

^y*5

^z- 用三個指標p2,p3,p5記錄上次計算醜數的位置

--p2:上乙個,乘以2得到的醜數

--p3:上乙個,乘以3得到的醜數

--p5:上乙個,乘以5得到的醜數

--當前醜數為下列三個值的最小值(沒想太明白,但當前醜數肯定給予上乙個醜數

乘以2,3,5得來):rs[p2]*2

,rs[p3]*3

,rs[p5]*5

--指標的更新(為什麼這麼更新也是沒想明白):p2++

,p3++

,p5++

public

class

solution

return result[index-1]

;}}

《劍指offer》33 醜數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。c 實現 class solution return a index 1 python實現 coding utf 8 cl...

劍指offer 33 醜數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。通俗易懂的解釋 首先從醜數的定義我們知道,乙個醜數的因子只有2,3,5,那麼醜數p 2 x 3 y 5 z,換句話說乙個醜...

劍指offer33 醜數

題目描述 把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。這裡講解的很詳細了。coding utf 8 class solution def getuglynumber ...