2
public int smallestChair(int[][] times, int targetFriend) {3
int targetStart = times[targetFriend][0];4
Arrays.sort(times, (a, b) -> a[0] - b[0]);6
PriorityQueue<Integer> available = new PriorityQueue<>();7
for (int i = 0; i < times.length; ++i) {11
PriorityQueue<int[]> pq = new PriorityQueue<>((a, b) -> a[0] - b[0]);13
for (int i = 0; i < times.length; ++i) {14
while (!pq.isEmpty() && pq.peek()[0] <= times[i][0]) {15
available.offer(pq.poll()[1]);18
if (times[i][0] == targetStart) {22
pq.offer(new int[] {times[i][1], available.poll()});25
return available.peek();