leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

1046.cpp (625B)


0 class Solution {
1 public:
2 int lastStoneWeight(vector<int> &stones) {
3 int n = stones.size();
4 make_heap(stones.begin(), stones.end());
5 while (stones.size() > 1) {
6 int x, y;
7 pop_heap(stones.begin(), stones.end());
8 y = stones.back(), stones.pop_back();
9 pop_heap(stones.begin(), stones.end());
10 x = stones.back(), stones.pop_back();
11 if (x != y) {
12 stones.push_back(y - x);
13 push_heap(stones.begin(), stones.end());
14 }
15 }
16 return !stones.empty() ? stones.back() : 0;
17 }
18 };