1
# Runtime: 354 ms (Top 28.01%) | Memory: 13.9 MB (Top 55.93%)6
def nthUglyNumber(self, n: int) -> int:7
h1, h2, h3 = [], [], []15
if 2 * h1[0] <= 3 * h2[0] and 2 * h1[0] <= 5 * h3[0]:19
if ugly_number == last_ugly_number:23
last_ugly_number = ugly_number24
heapq.heappush(h1, ugly_number)25
heapq.heappush(h2, ugly_number)26
heapq.heappush(h3, ugly_number)28
elif 3 * h2[0] <= 2 * h1[0] and 3 * h2[0] <= 5 * h3[0]:32
if ugly_number == last_ugly_number:35
last_ugly_number = ugly_number36
heapq.heappush(h1, ugly_number)37
heapq.heappush(h2, ugly_number)38
heapq.heappush(h3, ugly_number)43
if ugly_number == last_ugly_number:46
last_ugly_number = ugly_number47
heapq.heappush(h1, ugly_number)48
heapq.heappush(h2, ugly_number)49
heapq.heappush(h3, ugly_number)51
return last_ugly_number