摘要:題目給你一個包含個整數的數組,判斷中是否存在三個元素,,,使得請你找出所有和為且不重復的三元組。
給你一個包含 n 個整數的數組?nums,判斷?nums?中是否存在三個元素 a,b,c ,使得?a + b + c = 0 ?請你找出所有和為 0 且不重復的三元組。
注意:答案中不可以包含重復的三元組。
輸入: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)對輸入的nums中遍歷獲取第一個數,相同時跳過
(2)在第一個數右邊遍歷獲取第二個數,相同時跳過
(3)在右邊開始往回找第三個數,但是要保證第三個數在第二個數右邊
(4)如果找到三個數加起來的和為0,則記錄進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): # 需要和上一次枚舉的數不相同 if first > 0 and nums[first] == nums[first - 1]: continue # c 對應的指針初始指向數組的最右端 third = n - 1 target = -nums[first] # 枚舉 b for second in range(first + 1, n): # 需要和上一次枚舉的數不相同 if second > first + 1 and nums[second] == nums[second - 1]: continue # 需要保證 b 的指針在 c 的指針的左側 while second < third and nums[second] + nums[third] > target: third -= 1 # 如果指針重合,隨著 b 后續的增加 # 就不會有滿足 a+b+c=0 并且 b
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/119999.html
摘要:三數之和給定一個包含個整數的數組,判斷中是否存在三個元素,,,使得找出所有滿足條件且不重復的三元組。例如給定數組,滿足要求的三元組集合為答案參考 LeetCode15.三數之和 JavaScript 給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復的三元組。 注意:答案中不可以包含重...
摘要:每天會折騰一道及以上題目,并將其解題思路記錄成文章,發布到和微信公眾號上。三匯總返回目錄在月日月日這半個月中,做了匯總了數組知識點。或者拉到本文最下面,添加的微信等會根據題解以及留言內容,進行補充,并添加上提供題解的小伙伴的昵稱和地址。 LeetCode 匯總 - 2019/08/15 Create by jsliang on 2019-08-12 19:39:34 Recently...
摘要:給定一個包含個整數的數組,判斷中是否存在三個元素,,,使得找出所有滿足條件且不重復的三元組。 給定一個包含 n 個整數的數組?nums,判斷?nums?中是否存在三個元素 a,b,c ,使得?a + b + c = 0 ?找出所有滿足條件且不重復的三元組。 注意:答案中不可以包含重復的三元組。 例如, 給定數組 nums = [-1, 0, 1, 2, -1, -4], 滿足要求的三元...
摘要:最接近的三數之和給定一個包括個整數的數組和一個目標值。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定數組,,,和與最接近的三個數的和為答案參考和三數之和一樣,我先用的循環,現在用的循環 LeetCode16.最接近的三數之和 JavaScript 給定一個包括 n 個整數的數組 nums 和 一個目標值 target。找出 nums 中的三個整數,使得它們的和與 target...
閱讀 3560·2023-04-26 02:10
閱讀 1297·2021-11-22 15:25
閱讀 1668·2021-09-22 10:02
閱讀 907·2021-09-06 15:02
閱讀 3468·2019-08-30 15:55
閱讀 600·2019-08-30 13:58
閱讀 2774·2019-08-30 12:53
閱讀 3042·2019-08-29 12:38