C# LeetCode 1792: Ratio Máximo... Nota

C# LeetCode 1792: Ratio Máximo Promedio de Aprobación - (Medio)

El problema de LeetCode requiere maximizar la proporción promedio de aprobados en múltiples clases añadiendo estudiantes adicionales. Se utiliza una cola de prioridad para rastrear de manera eficiente la clase con la mayor ganancia potencial. La cantidad inicial de aprobados y el total de estudiantes para cada clase se añaden a la cola de prioridad. El algoritmo asigna iterativamente estudiantes adicionales a la clase que produce la mayor mejora en su proporción de aprobados. La ganancia de agregar un estudiante se calcula en función de la diferencia en las proporciones antes y después de la adición. El código en realidad no añade estudiantes inicialmente; solo calcula la ganancia hipotética. Este cálculo prioriza las clases para optimizar la mejora general de la proporción. Después de asignar todos los estudiantes adicionales, la proporción promedio final de aprobados se calcula sumando las proporciones de todas las clases. El código utiliza funciones auxiliares para calcular la proporción y la ganancia. La cola de prioridad, utilizando un comparador personalizado, asegura que siempre se seleccione la clase con la mayor ganancia. El promedio final se determina dividiendo la suma total de las proporciones por el número de clases.