Python中的数组分区I
假设我们有一个2n个整数数组,我们必须将这些整数分组为n对整数,例如(a1,b1),(a2,b2),...,(an,bn),它们的和为min(ai,bi)对于范围1到n中的所有i尽可能大。因此,如果输入为[1,4,3,2],则输出将为4。因此n为2。对的最大和为4。这是min(1,2)+min(3,4)=4
为了解决这个问题,我们将遵循以下步骤-
令n为数组的大小
对数组排序
回答:=0
对于介于0到n的i,跳2
答案:=答案+数组[i]
返回答案
示例
让我们看下面的实现以更好地理解-
class Solution(object):
def arrayPairSum(self, a):
"""
:type nums: List[int]
:rtype: int
"""
n = len(a)
a.sort()
ans = 0
for i in range(0,n,2):
ans += a[i]
return ans
ob1 = Solution()print(ob1.arrayPairSum([1,4,3,2]))输入值
[1,4,3,2]
输出结果
4
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短