---
title: 1046. Last Stone Weight
tags: Heap
description: share source code.
---
# 1046. Last Stone Weight
```java
// used priorityQueue to find top two
class Solution {
public int lastStoneWeight(int[] stones) {
PriorityQueue<Integer> q = new PriorityQueue<>( (a, b) -> b - a );
for(int i = 0; i < stones.length; i++){
q.offer(stones[i]);
}
while(q.size() > 1){
int a = q.poll();
int b = q.poll();
if(a - b > 0){
q.offer(a - b);
}
}
return q.isEmpty() ? 0 : q.peek();
}
}
```