1. 程式人生 > 實用技巧 >leetcode_16. 最接近的三數之和

leetcode_16. 最接近的三數之和

給定一個包括n 個整數的陣列nums和 一個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。



示例:

輸入:nums = [-1,2,1,-4], target = 1
輸出:2
解釋:與 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。


提示:

3 <= nums.length <= 10^3
-10^3<= nums[i]<= 10^3
-10^4<= target<= 10^4

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/3sum-closest
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
#暴力超時
class Solution:
    def threeSumClosest(self, nums: List[int], target: int) -> int:
        n=len(nums)
        ans=10**8
        total=0
        for i in range(n):
            for j in range(i+1,n):
                for k in range(j+1,n):
                    total=nums[i]+nums[j]+nums[k]
                    if abs(total-target)<abs(ans-target):
                        ans=total
        return ans