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 祝福语生日男朋友简短
14 过年祝福语南昌话简短
15 白羊生日祝福语 简短独特
16 关于扬州的祝福语简短
17 朋友节最简短祝福语
18 徒弟调走祝福语简短语