解題思路 leetcode第十五題 三數之和

2021-10-03 11:37:02 字數 1259 閱讀 5681

題目描述:給定乙個包含 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.理解題意,...