264.丑数II

编写一个程序,找出第 n 个丑数。

丑数就是只包含质因数 2, 3, 5 的正整数

示例:

输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。

说明:  

  1. 1 是丑数。
  2. n 不超过1690。

class Solution {
public:
    int nthUglyNumber(int n) {
        vector nums(1,1);
        int i2=0,i3=0,i5=0;
        while(nums.size()         {
            int m2=nums[i2]*2;
            int m3=nums[i3]*3;
            int m5=nums[i5]*5;
            int mm=min(m2,min(m3,m5));
            nums.push_back(mm);
            if(mm==m2)
                i2++;
            if(mm==m3)
                i3++;
            if(mm==m5)
                i5++;
        }
        return nums.back();
    }
};

你可能感兴趣的:(leetcode中国,264.丑数II,leetcode中国)