leetcode 100 热题 三数字之和

class Solution(object):

def twoSum(self, nums,target):

rt_list=[]

myDict={}

for i ,t in enumerate(nums):

myDict[t] = i

for i ,t in enumerate(nums):

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

continue

if myDict.get(target-t)!=None and myDict.get(target-t)>i:

rt_list.append([t,target-t])

return rt_list

def threeSum(self, nums):

"""

:type nums: List[int]

:rtype: List[List[int]]

"""

rt_list=[]

nums.sort()

print(nums)

nums_tmp=nums.deepcopy()

for i ,t in enumerate(nums):

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

continue

twosum_list = self.twoSum(nums[i+1:],0 - t)

print(twosum_list)

if len(twosum_list)>0:

for sub_list in twosum_list:

sub_list.append(t)

rt_list.append(sub_list)

rt_list2=[]

for i in rt_list:

i.sort()

rt_list2.append(i)

return rt_list2

一定要重视的是不能多次对同一个元素进行处理!!!一定要有continue部分和sort部分防止出现一样的结果

相关推荐
Mr.Rice.Fool14 小时前
rust面试经验1
后端·面试·职场和发展·rust
水蓝烟雨14 小时前
3337. 字符串转换后的长度 II
算法·leetcode
MegaDataFlowers14 小时前
SiliconCompiler workflow
算法
_日拱一卒14 小时前
LeetCode:226翻转二叉树
数据结构·算法·leetcode
踩坑记录14 小时前
leetcode hot100 64. 最小路径和 medium 递归优化
leetcode·深度优先
BirdenT15 小时前
20260424紫题训练
c++·算法
还是阿落呀15 小时前
基本控制结构
开发语言·c++·算法
禧西15 小时前
面试准备——agent和大模型
面试·职场和发展
样例过了就是过了15 小时前
LeetCode热题100 最长有效括号
c++·算法·leetcode·动态规划
wayz1115 小时前
Day 18:Keras深度学习框架入门
人工智能·深度学习·神经网络·算法·机器学习·keras