把只包含質因子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 ...