看板 Marginalman
題目: 做一個會回傳第k個最大的數字的東西 思路: priority queue 小的是top的順序 放K個東西 這樣top就會是第K個最大的東西了 然後 queue的前面是front priority queue 的前面是top 明明名字很像可是不一樣 我知道是因為pq背後原理是樹 可是還是會搞錯 很靠北 ```cpp class KthLargest { public: priority_queue<int,vector<int> ,greater<int>> save; KthLargest(int k, vector<int>& nums) { save.push(-999999); for(int k : nums) { save.push(k); } while(save.size() > k) { save.pop(); } } int add(int val) { save.push(val); save.pop(); return save.top(); } }; /** * Your KthLargest object will be instantiated and called as such: * KthLargest* obj = new KthLargest(k, nums); * int param_1 = obj->add(val); */ ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.17.100 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723478573.A.669.html
Smallsh: 大師 08/13 00:02