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

相关推荐
earthzhang202140 分钟前
《深入浅出HTTPS》读书笔记(28):DSA数字签名
开发语言·网络协议·算法·https·1024程序员节
Lulsj1 小时前
代码随想录day28 | leetcode 56.合并区间 738.单调自增的数字 968.监控二叉树
数据结构·算法·leetcode
get_money_2 小时前
动态规划汇总1
开发语言·数据结构·笔记·算法·leetcode·动态规划·代理模式
Huazzi.2 小时前
【算法学习】——整数划分问题详解(动态规划)
开发语言·数据结构·c++·学习·算法·动态规划
BingLin-Liu3 小时前
备战蓝桥杯:树的存储与遍历(dfs和bfs)
算法·深度优先·宽度优先
AI技术控3 小时前
计算机视觉算法实战——头盔检测
人工智能·算法·计算机视觉
用手码出世界5 小时前
二分查找算法——搜索插入位置
数据结构·算法·leetcode
得物技术5 小时前
Triton-Lang在Transformer优化加速中的实践 | 得物技术
人工智能·算法
低调学习者5 小时前
每日一题(三):压缩字符串(行程长度编码)
数据结构·算法
iracole5 小时前
深度学习camp-第J7周:对于ResNeXt-50算法的思考
人工智能·深度学习·算法