今天没啥意思
挑了别提来写
题目:
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;
}
};
```