class Solution(object):
def getUglyNumber(self, n):
res = [1]
a = b = c = 0
#多路归并的题都好 奇 怪,建议模拟一下子
for i in range(n - 1):
mmin = min(2 * res[a], 3 * res[b], 5 * res[c])
res.append(mmin)
if mmin == 2 * res[a]:
a += 1
if mmin == 3 * res[b]:
b += 1
if mmin == 5 * res[c]:
c += 1
return res[-1]