sort之后找中位数;如果是偶数长度,则取中间两个数字的平均数,奇数长度则直接取中位数。后挨个数字-去中位数,差值做加和。
class Solution:
def minMoves2(self, nums: List[int]) -> int:
nums = sorted(nums)
if len(nums)% 2:
mid = len(nums)//2
flag = nums[mid]
else:
flag = (nums[len(nums)//2 - 1] + nums[len(nums)//2])//2
res = 0
for num in nums:
res += abs(num - flag)
return res
本文介绍了如何使用Python实现对数组进行排序后,根据数组长度奇偶性计算中位数,并通过移动每个元素与中位数的距离求和,来确定最小步数调整数组的方法。适合理解排序与中位数计算在数组操作中的应用。
371

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



