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部分防止出现一样的结果

相关推荐
TracyCoder123几秒前
LeetCode Hot100(50/100)——153. 寻找旋转排序数组中的最小值
算法·leetcode·职场和发展
诸葛务农几秒前
点云配准在人形机器人中的应用:ICP算法(2)
人工智能·算法·机器学习·机器人
摘星编程6 分钟前
**解锁Agent智能体新纪元:自主协作、任务分解与人类意图对齐的终极指南**
算法
mmz12077 分钟前
逆序对问题(c++)
c++·算法
化学在逃硬闯CS8 分钟前
Leetcode110.平衡二叉树
数据结构·c++·算法·leetcode
谢铭轩9 分钟前
题解:P8035 [COCI 2015/2016 #7] Otpor
c++·算法
listhi52013 分钟前
双目立体视觉中的彩色SAD算法
算法
爱coding的橙子17 分钟前
Day87:2.12:leetcode 动态规划8道题,用时3h
算法·leetcode·动态规划
星火开发设计21 分钟前
虚析构函数:解决子类对象的内存泄漏
java·开发语言·前端·c++·学习·算法·知识
2501_9011478324 分钟前
幂函数实现的优化与工程思考笔记
笔记·算法·面试·职场和发展·php