func arrayPairSum(nums []int) int { set := [20001]int{} for _, i := range nums { set[i+10000]++ } sum, flag := 0, 1 for i, val := range set { if val != 0 { if val&1 == 0 { sum += val / 2 * (i - 10000) } else { sum += (val + flag) / 2 * (i - 10000) flag ^= 1 } } } return sum } func arrayPairSumSort(nums []int) int { sort.Ints(nums) sum := 0 for i := len(nums) - 2; 0 <= i; i -= 2 { sum += nums[i] } return sum }