给定一个包括n个整数的数组nums和一个目标值target。找出nums中的3个整数,使它们的和与target最接近。返回这3个数的和。假定每组输入只存在唯一答案。例如,给定数组nums=[-1,2,1,-4]和target=1。与target最接近的3个数的和为2,即-1+2+1=2。
class Solution(object): def threeSumClosest(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ n=len(nums) if (n<3): return nums.sort() res=nums[0]+nums[1]+nums[2] for i in range(n-2): if i>0 and nums[i]==nums[i+1]: continue l=i+1 r=n-1 while(l复杂度分析target: r-=1 return res
● 时间复杂度:和三数之和一样,时间复杂度为O(n2)。
● 空间复杂度:不确定,取决于内部排序算法的具体实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)