Five Star Sellers - Company-specific OAs / Amazon OA

https://algo.monster/problems/five_star_sellers

Solution to the Leetcode link:

public double maxAverageRatio(int[][] classes, int extraStudents) {
PriorityQueue<double[]> pq = new PriorityQueue<>((a, b) → {
Double aGain = ((a[0] + 1) / (a[1] + 1)) - (a[0] / a[1]);
Double bGain = ((b[0] + 1) / (b[1] + 1)) - (b[0] / b[1]);

        return -aGain.compareTo(bGain);
    });
    
    for (int i = 0; i < classes.length; i++) {
        pq.add(new double[]{classes[i][0], classes[i][1]});
    }
    
    for (int i = 0; i < extraStudents; i++) {
        double[] currentClass = pq.poll();
        currentClass[0]++;
        currentClass[1]++;
        pq.add(currentClass);
    }
    
    double sum = 0;
    while(!pq.isEmpty()) {
        double[] currentClass = pq.poll();
        sum += currentClass[0] / currentClass[1];
    }
    
    return sum / classes.length;
}