程序拆分数字列表,以使Python中中值的绝对差最小
假设我们有一个称为nums的数字列表,我们必须将其分为两个相同大小的部分,其中每个列表的中位数之间的绝对差值应尽可能小,并且必须找到这种差值。我们必须记住,这里的长度nums/2将是奇数。
因此,如果输入像[2,10,8,5,4,7],那么输出将为2,因为我们可以创建两个像[2,5,10]和[4,7,8]的列表,则中位数为5和7,它们的差值为2。
为了解决这个问题,我们将遵循以下步骤-
排序列表编号
m:=nums/2的商
返回|nums[m]-nums[m-1]|
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums):
nums.sort()
m = len(nums)//2
return abs(nums[m] - nums[m-1])
ob = Solution()print(ob.solve([2, 10, 8, 5, 4, 7]))输入值
[2, 10, 8, 5, 4, 7]
输出结果
2
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短