leetcode刷題之最接近的三數之和

2021-09-24 13:06:13 字數 816 閱讀 4594

在做了好多雙指標終於掌握了這門技術。。。。要多想一些雙指標之上的優化策略,比如什麼時候可以直接跳出、將列表裡的數字(會重複遇到的數)先提出來、遇到相同的數直接跳過

不過還是沒辦法一下子寫對啊

class solution:

def threesumclosest(self, nums: list[int], target: int) -> int:

nums.sort()

result=nums[0]+nums[1]+nums[2]

length=len(nums)

middle=abs(result-target)

for i in range(length):

left=i+1

right=length-1

if i > 0 and nums[i] == nums[i-1]:

continue

while leftresult_middle=nums[left]+nums[right]+nums[i]

if abs(result_middle-target) < middle:

result=result_middle

middle=abs(result_middle-target)

if leftleft+=1

if leftright-=1

elif result_middle-target<0:

left+=1

else:

right-=1

if middle==0:break

return result

LeetCode之最接近的三數之和

題目描述 給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 1...

leetcode刷題之路16 最接近的三數之和

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

leetcode刷題 16 最接近的三數之和

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