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

相关推荐
菜鸟得菜3 分钟前
leecode kadane算法 解决数组中子数组的最大和,以及环形数组连续子数组的最大和问题
数据结构·算法·leetcode
楼田莉子1 小时前
C++算法专题学习——分治
数据结构·c++·学习·算法·leetcode·排序算法
一支鱼1 小时前
leetcode常用解题方案总结
前端·算法·leetcode
ulias2121 小时前
各种背包问题简述
数据结构·c++·算法·动态规划
m0_570466412 小时前
代码随想录算法训练营第二十八天 | 买卖股票的最佳实际、跳跃游戏、K次取反后最大化的数组和
java·开发语言·算法
吃着火锅x唱着歌2 小时前
LeetCode 1537.最大得分
算法·leetcode·职场和发展
数模加油站2 小时前
25高教社杯数模国赛【C题超高质量思路+可运行代码】第十弹
算法·数学建模·数模国赛·高教社杯全国大学生数学建模竞赛
零千叶2 小时前
【面试】RabbitMQ 常见问题
面试·职场和发展·rabbitmq
ulias2122 小时前
动态规划入门:从记忆化搜索到动态规划
算法·动态规划
山河君2 小时前
webrtc之语音活动上——VAD能量检测原理以及源码详解
算法·音视频·webrtc·信号处理