b lc 最大平均通過率(多路歸併思想)

2022-06-30 10:27:12 字數 656 閱讀 6632

給乙個二維陣列 classes ,其中 classes[i] = [passi, totali] ,表示第 i 個班級總共有 totali 個學生,其中只有 passi 個學生可以通過考試。

給你乙個整數 extrastudents ,表示額外有 extrastudents 個學生一定 能通過任何班級的期末考。給這 extrastudents 個學生每人都安排乙個班級,**使得 所有 班級的 平均 通過率 最大 **。

乙個班級的 通過率 等於這個班級通過考試的學生人數除以這個班級的總人數。平均通過率 是所有班級的通過率之和除以班級數目。

請你返回在安排這 extrastudents 個學生去對應班級後的 最大 平均通過率。(n<1e5)

思路:讓乙個有a個學生中b個通過的班級增加乙個聰明學生後的通過率的增量為\(\cfrac\)-\(\cfrac=\cfrac\),a越大,增量越少,故可得不斷地給同乙個班級新增學生,這個班級通過率增量會減少,故可以用堆來維護多個班級的增量的最大值,每次往增量最大的那個班級新增聰明的學生(也就是大頂堆堆頂班級)

struct node 

};class solution );

}while (m--) );

}return s/n;

}};

LeetCode 1792 最大平均通過率(堆)

題意 一所學校裡有一些班級,每個班級裡有一些學生,現在每個班都會進行一場期末考試。給你乙個二維陣列 classes 其中 classes i passi,totali 表示你提前知道了第 i 個班級總共有 totali 個學生,其中只有 passi 個學生可以通過考試。給你乙個整數 extrastu...

最大平均(和)子串行

描述 給定n個數的陣列,找到所有長度大於等於k的連續子陣列中平均值最大的那個。返回那個最大的平均值。1 k n 10000,陣列中的元素在範圍 10000,10000 之間,最後返回的答案的誤差應在10 5 以內。樣例 輸入 1,12,5,6,50,3 k 4 輸出 12.75 說明 長度為4的子陣...

子陣列最大平均數

給定 n 個整數,找出平均數最大且長度為 k 的連續子陣列,並輸出該最大平均數。示例 1 輸入 1,12,5,6,50,3 k 4 輸出 12.75 簡單的滑動視窗題目 直接暴力求解會導致時間複雜度過高,大量資料輸入超出最大執行時間 使用滑動視窗優化減少迴圈巢狀 1.初始前k個數的值sum 2.從第...