Code
Heap
可發現此法得到的數字會遠大於用 DP 去解的,要用 long
才不會 overflow。
不用 set 而消除 duplicate 的寫法:
DP-like
TLE 版本,直接使用 Ugly Number 中的解法去暴力搜索。
要想辦法加速。可觀察到:若一個數字是 ugly number,則它二的、三的、五的倍數都會是 ugly number。
錯誤加速版本:
正確加速版本:
要將 p1, p2, p3
包在 ugly 中使用(ex: ugly[p1]
)是因為 ugly number 只能是 ugly number 的 2、3、5 倍,如果單純用 p1, p2, p3
,就會乘到像是 7 這類不是 ugly number 的數字,造成結果不正確。
Link