Re: [閒聊] 每日leetcode
今天沒啥意思
挑了別提來寫
題目:
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;
}
};
```
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.129.159 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1722865848.A.4CC.html
推
08/05 21:53,
1年前
, 1F
08/05 21:53, 1F
→
08/05 21:54,
1年前
, 2F
08/05 21:54, 2F
→
08/05 21:54,
1年前
, 3F
08/05 21:54, 3F
→
08/05 21:55,
1年前
, 4F
08/05 21:55, 4F
→
08/05 21:55,
1年前
, 5F
08/05 21:55, 5F
推
08/05 21:55,
1年前
, 6F
08/05 21:55, 6F
推
08/05 22:31,
1年前
, 7F
08/05 22:31, 7F
→
08/06 12:30,
1年前
, 8F
08/06 12:30, 8F
討論串 (同標題文章)
完整討論串 (本文為第 642 之 1548 篇):