方法一:贪心

分析:最后的结果要最大,所以每一项都应该最大,但是每一项又都是两个数的最小值,所以要进行排序,然后从最大的开始相邻成对,此时每一项都是最大的了,我们结果也就最大了

  1. func arrayPairSum(nums []int) int {
  2. ret := 0
  3. //1. 排序
  4. sort.Ints(nums)
  5. //2. 从最后的一个元素开始,两两成对,计算结果并返回结果
  6. for i := len(nums)-1; i >= 0; i -= 2 {
  7. ret += nums[i-1]
  8. }
  9. //3. 返回结果
  10. return ret
  11. }