解題思路
每次要找出最大與次大,最方便的方法是用 max heap。
程式碼
class Solution { public: int lastStoneWeight(vector<int>& stones) { priority_queue<int> pq; for(int i=0; i<stones.size(); i++) pq.push(stones[i]); while(pq.size() != 1) { int first = pq.top(); pq.pop(); int second = pq.top(); pq.pop(); pq.push(first - second); } return pq.top(); } };
沒有留言:
張貼留言