题目如下
解题思路
1.使用优先队列来做
2.sort然后增删
这里使用的是第一个思路
c++代码
class Solution {
public:
int lastStoneWeight(vector<int>& stones)
{
priority_queue<int> pq;
for (int s : stones) pq.push(s);
while (pq.size() > 1) {
int a = pq.top();
pq.pop();
int b = pq.top();
pq.pop();
pq.push(abs(a - b));
}
return pq.size() == 0? 0 : pq.top();
}
};