前言:这个题目一开始没啥想法,看完题解后感触很深,我们每次取出的最小的数乘以2,3,5可能就是我们下一个候选的答案,我们用set进行去重即可
题目地址
#include<bits/stdc++.h>
using namespace std;class Solution {
public:int getUglyNumber(int n) {// priority_queue<int,vector<int>,greater<int>> q;set<int> q;q.insert(1);int now;while(n--){now = *q.begin(); q.erase(now);q.insert(now*2);q.insert(now*3);q.insert(now*5);}return now;}
};