参考:https://blog.nowcoder.net/n/737d5e8a1f5947eba9446b65ee5f8e84 是真的666

class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        if(index <= 6){
            return index;
        }
        
        int i2=0, i3=0, i5=0;
        vector<int> res(index);
        res[0] = 1;
        
        for(int i=1; i<index; i++){
            res[i] = min(res[i2]*2, min(res[i3]*3, res[i5]*5));
            if(res[i] == res[i2]*2){
                i2++;
            }
            if(res[i] == res[i3]*3){
                i3++;
            }
            if(res[i] == res[i5]*5){
                i5++;
            }
        }
        return res[index-1];
    }
};