力扣刷题 16

力扣刷题 16,第1张

力扣刷题 16 题目描述

给定一个包括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(ltarget:
                    r-=1
        return res
复杂度分析

● 时间复杂度:和三数之和一样,时间复杂度为O(n2)。
● 空间复杂度:不确定,取决于内部排序算法的具体实现。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5661356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存