題目描述:給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。
注意:答案中不可以包含重複的三元組。
示例:給定陣列 nums = [-1, 0, 1, 2, -1, -4],
滿足要求的三元組集合為:
[[-1, 0, 1],
[-1, -1, 2]
]本次採用先排序再雙指標遍歷的方法,第一步是對特殊輸入的處理,比如輸入為空或長度小於3,則返回空列表。然後對列表進行公升序排列,排序後遍歷陣列元素,並設定兩個指標l,r,l指向遍歷元素的下一元素,r指向最後,當lclass
solution
:def
threesum
(self, nums: list[
int])-
> list[list[
int]]:
sum=
if(not nums or
len(nums)
<3)
:return
nums.sort(
)for i in
range
(len
(nums)):
if(nums[i]
>0)
:return
sumif
(i>
0and nums[i]
==nums[i-1]
):continue
l=i+
1 r=
len(nums)-1
while
(l(nums[i]
+nums[l]
+nums[r]==0
):sum[nums[i]
,nums[l]
,nums[r]])
while
(l==nums[l+1]
):l=l+
1while
(l==nums[r-1]
):r=r-
1 l=l+
1 r=r-
1elif
(nums[i]
+nums[l]
+nums[r]
>0)
: r=r-
1else
: l=l+
1return
sum提交後,通過。
LeetCode第十五題 Python版本
title leetcode no.14 categories tags 給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 請你找出所有和為 0 且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 1 輸入 nums 1,0,1,...
第十五周總結
第十五周總結 這周我們需要每個人製作乙個頁面,作為考核的一部分內容,但我進度比較慢,css都沒怎麼看,所以星期一的時候我又轉入了學習,並沒有開始真正的製作。等到晚上的時候開始著手製作,邊學邊做。剛開始比較蒙,不知道具體的細節,但也都一步一步的試著寫。但是還是有很多效果都沒有出來,頁面 經受不住打擊 ...
第十五周作業
要求二 7 1 求最大值及其下標 一,實驗 include int main void for i 0 i if max printf d d n max,j return0 二,設計思路 1.根據題意定義變數,分別是整型變數i 下標 n 陣列長度 j,max 最大值 a 10 陣列 2.理解題意,...