给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例 1:

输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]

示例 2:

输入:nums = []
输出:[]

示例 3:

输入:nums = [0]
输出:[]

示例代码:

class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:n = len(nums)ret = []if not nums and len(nums) < 3:return retnums.sort()for i in range(n):if nums[i] > 0:return retif i > 0 and nums[i] == nums[i-1]:continuel, r = i+1,  n-1while l < r:if nums[i] + nums[l] + nums[r] == 0:ret.append([nums[i], nums[l], nums[r]])while l < r and nums[r] == nums[r-1]:r -= 1while l < r and nums[l] == nums[l+1]:l += 1r -= 1l += 1elif nums[i] + nums[l] + nums[r] > 0:r -= 1else:l += 1return ret

三数之和(三数不重复)相关推荐

  1. 《漫画算法2》源码整理-6 两数之和 三数之和

    两数之和 import java.util.*;public class TwoSum {public static List<List<Integer>> twoSum(in ...

  2. 基础数学(二)两数之和 三数之和

    目录 两数之和_牛客题霸_牛客网 三数之和_牛客题霸_牛客网 两数之和_牛客题霸_牛客网 给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返 ...

  3. leetcode15. 三数之和(三指针)

    一:题目 二:思路 1.这里的去重是指的是我们在遍历元素的时候,遇到相同的挨着的相同的元素的时候要跳过 2.对元素进行排序,为了后面的比较 3.我们用的是三个指针,第一个指针i指向第一个元素,第二个指 ...

  4. 代码随想录算法训练营第七天|454、四数相加Ⅱ 383、赎金信15、三数之和18、四数之和

    454.四数相加Ⅱ.383.赎金信.15.三数之和四数之和 四数相加 对于四数相加,我们可以定义一个map用来记录nums1与nums2的和对应次数,再遍历nums3与nums4,如果存在c与d使得a ...

  5. 代码随想录算法训练营第七天 | 454.四数相加II ,383. 赎金信 ,15. 三数之和,18. 四数之和

    一.参考资料 四数相加II 题目链接/文章讲解/视频讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II. ...

  6. 代码随想录算法训练营第七天|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和

    一.454.四数相加II 力扣 思路:第一眼还没反应过来,真是缺练.在四个数组中分别寻找,可以先把前两个数组的和先存入map中,再计算后两个数组元素的和,看一下相反数在map中出现没有,出现过就res ...

  7. 【LeetCode】两数之和、三数之和、四数之和系列

    文章目录 两数之和★ 三数之和★★ 四数之和★★ 四数相加Ⅱ★★ 最接近的三数之和★★ 此篇文章总结下力扣中的两数之和.三数之和.四数之和及一系列求数组中满足达到目标值的元组个数的问题,仔细阅读下面的 ...

  8. ❤️导图整理数组3: 两数之和II有序数组, 多个有序, 思路全变, 力扣167❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

  9. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  10. 【算法】哈希表 ( 两数之和 )

    算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...

最新文章

  1. kd树 python实现_Python KD树实现+简单的KNN实现
  2. 调用webapi 错误:使用 HTTP 谓词 POST 向虚拟目录发送了一个请求,而默认文档是不支持 GET 或 HEAD 以外的 HTTP 谓词的静态文件。的解决方案
  3. google chrome 谷歌浏览器 快捷键说明
  4. AIX 访问Linux NFS共享错误案例
  5. python语言与c语言相比在分支结构上有什么不同_大工20春 C/C 语言程序设计 在线作业3 - 百度文库...
  6. 计算机网络原理梳理丨清晰认识 TCP/IP 协议,图解秒懂!
  7. twitter自定义api_为Twitter4j创建自定义SpringBoot Starter
  8. 您自己的MicroProfile Config来源
  9. codeblocks下libcurl的配置
  10. runloop - 面试题
  11. 可以分屏的软件_Mac上的分屏功能,让你办公更高效
  12. 人工智能——数据、信息与知识
  13. 简单理解Momentum,RMSprop,Adam优化算法
  14. java生成固定长度随机数
  15. HTML和小程序的 12 种 flex 布局
  16. 计算机图形学应用题,计算机图形学教学大纲
  17. 向量的外积(outer product)与克罗内克积(Kronecker)
  18. 基于Java语言的安卓程序编程之一环境搭建2
  19. Python实现手写体数字图片识别+GUI界面+画板数字识别
  20. 用Python实现单词尾缀的分析及提取

热门文章

  1. 改名 Meta,打元宇宙牌,老龄化的 Facebook 能否再换新颜
  2. OpenAI 以 10 亿美元出售「灵魂」,网友热评不再「Open」
  3. 谷歌这波大动作,暴露了什么信号?
  4. 免费直播:1小时带你体验Python车牌识别实战
  5. 限时福利:腾讯高级专家手把手教你打造 OCR 神器!
  6. 喜得爱女,吴恩达深情撰文:欢迎你来到新世界!
  7. 12岁AI开发者现身DuerOS发布会:得开发者得天下
  8. 万万没想到! logger.info() 还能导致线上故障?
  9. IntelliJ IDEA 小技巧: Stream Trace 功能!
  10. 你管这破玩意叫 CPU ?