作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon Aug 5 21:50:46 2024
今天沒啥意思
挑了別提來寫
題目:
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
推 mrsonic: 你換好裝沒 08/05 21:53
→ oin1104: 你買衣服送我我就穿 08/05 21:54
→ mrsonic: 又要食言喔 08/05 21:54
→ sustainer123: 大師 08/05 21:55
→ oin1104: 沒有衣服要cos啥 08/05 21:55
推 JIWP: jiwp欠錢,不想看到數字 幹尼娘 08/05 21:55
推 SydLrio: 你有什麼用 08/05 22:31
→ dont: 大師 08/06 12:30