精華區beta Marginalman 關於我們 聯絡資訊
今天沒啥意思 挑了別提來寫 題目: 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