JZ33 丑数
# -*- coding:utf-8 -*-
class Solution:
def GetUglyNumber_Solution(self, index):
if index <= 1:
return index
ugly = [1]
idx_2, idx_3, idx_5 = 0,0,0
while len(ugly) < index:
cur_ugly = min(2*ugly[idx_2], 3*ugly[idx_3], 5*ugly[idx_5])
ugly.append(cur_ugly)
if cur_ugly % 2 == 0:
idx_2 += 1
if cur_ugly % 3 == 0:
idx_3 += 1
if cur_ugly % 5 == 0:
idx_5 += 1
return ugly[-1]