精華區beta Marginalman 關於我們 聯絡資訊
老題目 之前我自己寫好像是用set來去重複 這次試著寫了一堆臭臭 好像也沒比較快 == def threeSum(self, nums: List[int]) -> List[List[int]]: n = len(nums) ans = [] nums.sort() prev_numi = None for i in range(n-2): if nums[i]==prev_numi: continue l, r = i+1, n-1 res = -nums[i] while l<r: if nums[l]+nums[r] == res: if len(ans)==0 or [nums[i],nums[l],nums[r]] != ans[-1]: ans.append([nums[i],nums[l],nums[r]]) l+=1 r-=1 elif nums[l]+nums[r] < res: l+=1 else: r-=1 prev_numi = nums[i] return ans -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.58.28 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1752594531.A.F78.html
sustainer123: 大師 07/15 23:54