[LC] 846. Hand of Straights
Alice has a hand of cards, given as an array of integers.
Now she wants to rearrange the cards into groups so that each group is size W, and consists of W consecutive cards.
Return true if and only if she can.
Example 1:
Input: hand = [1,2,3,6,2,3,4,7,8], W = 3 Output: true Explanation: Alice'shandcan be rearranged as[1,2,3],[2,3,4],[6,7,8].
class Solution { public boolean isNStraightHand(int[] hand, int W) { PriorityQueue<Integer> pq = new PriorityQueue<>(); for (int num : hand) { pq.offer(num); } while (!pq.isEmpty()) { int num = pq.poll(); for (int i = 1; i < W; i++) { if (pq.remove(i + num)) { continue; } else { return false; } } } return true; } }

浙公网安备 33010602011771号