今天沒啥意思
挑了別提來寫
題目:
jiwp要找很酷的數字
很酷的數字 = 只能由2 3 5當因數組合出來
包含1
你要回傳第n個很酷的數字
思路:
如果從1~不知道多少
全部拿出來除 一定超時
所以要用慢慢乘上去的方式
因為要從小的慢慢用
所以priority queue 拿出來用
每次都用最小的數字乘235放回去pq
還要記得 要記錄放過了沒
所以再用一個unordered set記錄
姆咪
```cpp
class Solution {
public:
int nthUglyNumber(int n)
{
int k = 0;
priority_queue<long long ,vector<long long> , greater<long long>> paper;
unordered_set<long long> save;
paper.push(1);
save.insert(1);
while(1)
{
long long now = paper.top();
paper.pop();
k ++;
if(k == n)return now;
if(save.find(now*2)==save.end())
{
paper.push(now*2);
save.insert(now*2);
}
if(save.find(now*3)==save.end())
{
paper.push(now*3);
save.insert(now*3);
}
if(save.find(now*5)==save.end())
{
paper.push(now*5);
save.insert(now*5);
}
}
return 0;
}
};
```