# -*- coding:utf-8 -*- class Solution: def GetUglyNumber_Solution(self, index): # write code here dp=[1] dic={2:0,3:0,5:0} while len(dp)<index: v = [] for i,j in dic.items(): v.append((i*dp[j],i)) v.sort() minval = v[0][0] for i,j in v: if i <= minval: dic[j]+=1 else: break dp.append(minval) return dp[-1] if index>0 else 0