0
点赞
收藏
分享

微信扫一扫

264. Ugly Number II

whiteMu 2022-04-14 阅读 71
leetcodec++

因为Ugly Number 可以分解为2 3 5的乘积,所以可以可以直接在set中存放从1开始的Ugly Number ,第一次存放 1*2 , 1*3 1*5, 然后取出1,代表第一次取值。 然后第二次取出2 存入 2*2, 2*3, 2*5 依次类推。

class Solution {
public:
    int nthUglyNumber(int n) {
        set<long> st;
        st.insert(1);
        long num = 1;
        for(int i=0;i<n;i++){
            num = *st.begin();
            st.erase(num);
            st.insert(num * 2);
            st.insert(num * 3);
            st.insert(num * 5);
        }
        return num;
    } 
};
举报

相关推荐

0 条评论