1792专题

1792. 最大平均通过率

文章目录 题意思路代码 题意 题目链接 给了每个班的人数和通过人数,给了一堆必考过的学生,分配给了不同班,让平均班的通过率最高。 思路 看分配给不同班的收益率,优先最高收益率,使用优先队列 代码 class Solution {public:double calcAdd(int pass, int total){return (pass + 1.0) / (total

1792. 最大平均通过率

分析 题目: 1792. 最大平均通过率 思路: 由于每个班级的通过率随着人数的增加单调递减,所以最大的通过率,必然是前k个人,使用大跟堆,每次取出增益最大的班级进行添加,即可得到最优解。yxc视频讲解 代码 class Solution {public:double maxAverageRatio(vector<vector<int>>& classes, int extraStude

leetcode_1792 最大平均通过率

1. 题意 给定一个班级数组,每个班级包括总人数和通过人数。现在可以加入k个通过的学生到任意班级,求 最大的平均通过率。 最大平均通过率 2. 题解 假设某一班级总人数为m, 通过人数为n,则加入一个通过的学生对通过率的增加 d i f f diff diff为 n + 1 m + 1 − n m = m − n m ( m + 1 ) \frac{n+1}{m+1} - \frac