Destroying Asteroids LeetCode solution in Java
1class Solution {2public boolean asteroidsDestroyed(int mass, int[] asteroids) {3PriorityQueue<Integer> maxHeap = new PriorityQueue<>((a, b) -> b - a);4PriorityQueue<Integer> minHeap = new PriorityQueue<>();56for (int val : asteroids) maxHeap.add(val);78long bigMass = mass;910while (maxHeap.size() > 0) {11int curr = maxHeap.poll();1213if (bigMass >= curr) {14bigMass += curr;15while (minHeap.size() > 0 && bigMass >= minHeap.peek()) {16bigMass += minHeap.poll();17}18} else {19minHeap.add(curr);20}21}2223return minHeap.size() == 0 && maxHeap.size() == 0;24}25}