Skip to content

Commit 3499099

Browse files
Create last_stone_weight.js
1 parent b27964d commit 3499099

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

last_stone_weight.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {number[]} stones
3+
* @return {number}
4+
*/
5+
var lastStoneWeight = function(stones) {
6+
const stonesQueue = new MaxPriorityQueue();
7+
8+
let length = stones.length;
9+
10+
for(let i = 0; i < length; i++) {
11+
stonesQueue.enqueue(stones[i]);
12+
}
13+
14+
while(stonesQueue.size() > 1) {
15+
let y = stonesQueue.dequeue().element;
16+
let x = stonesQueue.dequeue().element;
17+
18+
if(y !== x) {
19+
y = y - x;
20+
stonesQueue.enqueue(y);
21+
} else {
22+
stonesQueue.enqueue(0);
23+
}
24+
}
25+
26+
return stonesQueue.dequeue().element;
27+
};

0 commit comments

Comments
 (0)