题解 | #丑数#

丑数

https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b

#include <functional>
#include <queue>
#include <unordered_map>
class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        if(index==0){
            return 0;
        }
        vector<int> vec={2,3,5};
        unordered_map<long, int> map;
        priority_queue<long,vector<long>,greater<long>> ans;
        map[1]=1;
        ans.push(1);
        long a=0;
        for(int i=0;i<index;i++){
            a=ans.top();
            ans.pop();
            for(int j=0;j<3;j++){
                long t=a*vec[j];
                if(map.find(t)==map.end()){
                    map[t]=1;
                    ans.push(t);
                }
            }
        }
        return a;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务