摘要:題目給你一個(gè)包含個(gè)整數(shù)的數(shù)組,判斷中是否存在三個(gè)元素,,,使得請(qǐng)你找出所有和為且不重復(fù)的三元組。
給你一個(gè)包含 n 個(gè)整數(shù)的數(shù)組?nums,判斷?nums?中是否存在三個(gè)元素 a,b,c ,使得?a + b + c = 0 ?請(qǐng)你找出所有和為 0 且不重復(fù)的三元組。
注意:答案中不可以包含重復(fù)的三元組。
輸入:nums = [-1,0,1,2,-1,-4]輸出:[[-1,-1,2],[-1,0,1]]
輸入:nums = []輸出:[]
輸入:nums = [0]輸出:[]
(1)0 <= nums.length <= 3000
(2)-105?<= nums[i] <= 105
(1)對(duì)輸入的nums中遍歷獲取第一個(gè)數(shù),相同時(shí)跳過
(2)在第一個(gè)數(shù)右邊遍歷獲取第二個(gè)數(shù),相同時(shí)跳過
(3)在右邊開始往回找第三個(gè)數(shù),但是要保證第三個(gè)數(shù)在第二個(gè)數(shù)右邊
(4)如果找到三個(gè)數(shù)加起來的和為0,則記錄進(jìn)ans
(5)最后輸出ans
class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: n = len(nums) nums.sort() ans = list() # 枚舉 a for first in range(n): # 需要和上一次枚舉的數(shù)不相同 if first > 0 and nums[first] == nums[first - 1]: continue # c 對(duì)應(yīng)的指針初始指向數(shù)組的最右端 third = n - 1 target = -nums[first] # 枚舉 b for second in range(first + 1, n): # 需要和上一次枚舉的數(shù)不相同 if second > first + 1 and nums[second] == nums[second - 1]: continue # 需要保證 b 的指針在 c 的指針的左側(cè) while second < third and nums[second] + nums[third] > target: third -= 1 # 如果指針重合,隨著 b 后續(xù)的增加 # 就不會(huì)有滿足 a+b+c=0 并且 b
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119999.html
摘要:三數(shù)之和給定一個(gè)包含個(gè)整數(shù)的數(shù)組,判斷中是否存在三個(gè)元素,,,使得找出所有滿足條件且不重復(fù)的三元組。例如給定數(shù)組,滿足要求的三元組集合為答案參考 LeetCode15.三數(shù)之和 JavaScript 給定一個(gè)包含 n 個(gè)整數(shù)的數(shù)組 nums,判斷 nums 中是否存在三個(gè)元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復(fù)的三元組。 注意:答案中不可以包含重...
摘要:每天會(huì)折騰一道及以上題目,并將其解題思路記錄成文章,發(fā)布到和微信公眾號(hào)上。三匯總返回目錄在月日月日這半個(gè)月中,做了匯總了數(shù)組知識(shí)點(diǎn)?;蛘呃奖疚淖钕旅?,添加的微信等會(huì)根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。 LeetCode 匯總 - 2019/08/15 Create by jsliang on 2019-08-12 19:39:34 Recently...
摘要:給定一個(gè)包含個(gè)整數(shù)的數(shù)組,判斷中是否存在三個(gè)元素,,,使得找出所有滿足條件且不重復(fù)的三元組。 給定一個(gè)包含 n 個(gè)整數(shù)的數(shù)組?nums,判斷?nums?中是否存在三個(gè)元素 a,b,c ,使得?a + b + c = 0 ?找出所有滿足條件且不重復(fù)的三元組。 注意:答案中不可以包含重復(fù)的三元組。 例如, 給定數(shù)組 nums = [-1, 0, 1, 2, -1, -4], 滿足要求的三元...
摘要:最接近的三數(shù)之和給定一個(gè)包括個(gè)整數(shù)的數(shù)組和一個(gè)目標(biāo)值。返回這三個(gè)數(shù)的和。假定每組輸入只存在唯一答案。例如,給定數(shù)組,,,和與最接近的三個(gè)數(shù)的和為答案參考和三數(shù)之和一樣,我先用的循環(huán),現(xiàn)在用的循環(huán) LeetCode16.最接近的三數(shù)之和 JavaScript 給定一個(gè)包括 n 個(gè)整數(shù)的數(shù)組 nums 和 一個(gè)目標(biāo)值 target。找出 nums 中的三個(gè)整數(shù),使得它們的和與 target...
閱讀 3580·2023-04-26 02:10
閱讀 1343·2021-11-22 15:25
閱讀 1684·2021-09-22 10:02
閱讀 920·2021-09-06 15:02
閱讀 3480·2019-08-30 15:55
閱讀 613·2019-08-30 13:58
閱讀 2788·2019-08-30 12:53
閱讀 3068·2019-08-29 12:38