解題思路
每次要找出最大與次大,最方便的方法是用 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();
}
};
沒有留言:
張貼留言