1. 解题思路
这一题其实没啥好说的,将全部元素按照绝对值进行一下排序,然后从大到小依次将各个元素分配到偶数位上作为正数和,其余的作为减法一侧即可。
2. 代码实现
给出python代码实现如下:
class Solution:
def maxAlternatingSum(self, nums: List[int]) -> int:
n = len(nums)
nums = sorted(nums, key=lambda x: abs(x), reverse=True)
k = (n+1) // 2
ans = 0
for i in range(k):
ans += nums[i] * nums[i]
for i in range(k, n):
ans -= nums[i] * nums[i]
return ans
提交代码评测得到:耗时227ms,占用内存31.37MB。
1423

被折叠的 条评论
为什么被折叠?



