class Solution:
def nthUglyNumber(self, n: int) -> int:
result = [1]
p2 = p3 = p5 = 0
while len(result) < n:
num = min(result[p2]*2,result[p3]*3,result[p5]*5)
if num not in result:
result.append(num)
if result[p2]*2 == num:
p2 += 1
elif result[p3]*3 == num:
p3 += 1
else:
p5 += 1
#print(result)
#print(result[n - 1])
return result[n - 1]
leetcode 264. 丑数II
最新推荐文章于 2024-07-19 18:41:59 发布