leetcode刷題python之四數之和

2021-09-24 13:49:41 字數 698 閱讀 1394

class solution:

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

nums.sort()

length=len(nums)

result=

if length<4:

return

for i in range(length-3):

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

continue

if nums[i]+nums[i+1]+nums[i+2]+nums[i+3]>target:

break

if nums[i]+nums[length-3]+nums[length-2]+nums[length-1]1 and nums[j-1]==nums[j]:

continue

if nums[i]+nums[j]+nums[j+1]+nums[j+2]>target:

break

if nums[j]+nums[length-3]+nums[length-2]+nums[length-1]雖然自己也可以寫一寫簡單的雙指標,但是優化做的還是不夠好,大神的優化太厲害了,首先是相同的數跳過,這個是之前也用過的,關鍵是要搞懂為什麼在range()裡面的座標,length-2和length-3都可以,而-3可以用到進一步的優化之中

Leetcode鍊錶刷題 pytho語言

為方便後續的使用查詢,記錄一下 函式包括 找到兩個單鏈表相交的起始節點 反轉單鏈表 刪除鍊錶中等於給定值 val 的所有節點 definition for singly linked list.class listnode object def init self,x self.val x self...

開始刷題LeetCode

今天決定開始刷題,每天至少一題,如果題目確實沒有解決出來沒有關係,但是要保證每天至少接觸了一道新的題目!一定要堅持下去,現在是個菜鳥可能會感覺有點難度,堅持下去,總有一天會好的!今天是第一天,做的第乙個題目 reverse words in a string given an input strin...

leetcode刷題歷程

難度 簡單 題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 ...