您好,登錄后才能下訂單哦!
【題目描述】
Ugly number is a number that only have factors 2, 3 and 5.
Design an algorithm to find the nth ugly number. The first 10 ugly numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12...
Notice:Note that 1 is typically treated as an ugly number.
設計一個算法,找出只含素因子2,3,5 的第 n 大的數。符合條件的數如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12...
注意:我們可以認為1也是一個丑數。
【題目鏈接】
http://www.lintcode.com/en/problem/ugly-number-ii/
【題目解析】
這就是多鏈表Merge Sort的一個擴展題。
對于任意一個ugly number - K, 2*K, 3*K, 和5*K都是ugly number,所以說新的ugly number都是從已有的ugly number上,通過與{2,3,5}相乘而產生的。
如果
Ugly Number: 1, 2, 3, 4, 5, 6, 8, 10, ..........
那么 1*2 2*2 3*2 4*2 5*2 6*2 8*2 10*2 ...........*2
1*3 2*3 3*3 4*3 5*3 6*3 8*3 10*3 .......... *3
1*5 2*5 3*5 4*5 5*5 6*5 8*5 10*5 .......... *5
都是ugly number。只要不斷把新產生的ugly number通過merge sort添加到原有的ugly number數組中就可以了,直到找到第N個。
【答案鏈接】
http://www.jiuzhang.com/solutions/ugly-number-ii/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。