561. Array Partition I
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
Example 1:
Input: [1,4,3,2] Output: 4 Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4).
My idea:use sort() and sum them which are 2n
class Solution: def arrayPairSum(self, nums: List[int]) -> int: nums.sort() max=0 i=0 while(i!=len(nums)): max+=nums[i] i=i+2 return max
执行用时 : 148 ms, 在Array Partition I的Python3提交中击败了47.72% 的用户 内存消耗 : 15 MB, 在Array Partition I的Python3提交中击败了59.69% 的用户 learn about for
class Solution: def arrayPairSum(self, nums: List[int]) -> int: nums.sort() sum=0 for i in nums[::2]: sum+=i return sum执行用时 : 140 ms, 在Array Partition I的Python3提交中击败了59.97% 的用户 内存消耗 : 14.9 MB, 在Array Partition I的Python3提交中击败了87.38% 的用户 this one is better not anything should use range() in for

更多精彩