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