点击打开链接
class Solution {
public:
int nthUglyNumber(int n) {
vector<int> res(1,1);
int i2=0, i3=0 ,i5=0;
while (res.size()<n) {
int m2 = res[i2]*2, m3= res[i3]*3, m5=res[i5]*5;
int mm = min(m2, min(m3, m5));
// 用三个if 因为可能有重复的
if(mm==m2) i2+=1;
if(mm==m3) i3+=1;
if(mm==m5) i5+=1;
res.push_back(mm);
}
return res[n-1];
}
};