组队竞赛
題目解析:
隊伍的水平值等于該隊伍隊員中第二高水平值,為了所有隊伍的水平值總和最大的解法,也就是說每個隊伍的第二個值是盡可能大的值。所以實際值把最大值放到最右邊,最小是放到最左邊。
解題思路:
本題的主要思路是貪心算法,貪心算法其實很簡單,就是每次選值時都選當前能看到的局部最解憂,所以這里的貪心就是保證每組的第二個值取到能選擇的最大值就可以,我們每次盡量取最大,但是最大的數不可能是中位數,所以退而求其次,取 每組中第二大的排序,然后取下標為3n - 2,3n - 4 ,3n - 6… n+2,n位置的元素累加即可,相當下標為[0,n-1]的n個數做每組的最左邊的數,剩下的2個數據兩個為一組,大的值做最右邊的數,次大的做中間值,這里就是把這個次大的值加起來。
例如 現在排序后 有 1 2 5 5 8 9 ,那么取 8 和 5相加等于 13
圖解思路:
上代碼:
總結
- 上一篇: 快速转 TypeScript 指南
- 下一篇: MAC OS 命令行使用详解