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

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

解答
    private static List<List<Integer>> findThreeNumber(int[] arr) {List<List<Integer>> result = new ArrayList<>();int length = arr.length;if (arr == null || length < 3) return result;// 数组排序Arrays.sort(arr);// 遍历查找for (int i = 0; i < length; i++) {// 第一个数就大于0,不可能存在三数等于0情况if (arr[i] > 0) break;// 去重if (i > 0 && arr[i] == arr[i - 1]) continue;// 定义左、右指针int left = i + 1;int right = length - 1;// 移动指针进行匹配while (left < right) {int sum = arr[i] + arr[left] + arr[right];// 将符合条件的添加到result中if (sum == 0) {result.add(Arrays.asList(arr[i], arr[left], arr[right]));// 去重while (left < right && arr[left] == arr[left + 1]) left++;while (left < right && arr[right] == arr[right - 1]) right--;left++;right--;} else if (sum > 0) {right--;} else left++;}}return result;}
测试
 private static void threeNumberSum() {int[] arr = {1, 2, 3, -1, -2, 4, 0};System.out.println(findThreeNumber(arr));
结果输出
[[-2, -1, 3], [-2, 0, 2], [-1, 0, 1]]

Leetcode15之三数之和相关推荐

  1. LeetCode15. 三数之和 16. 最接近的三数之和

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

  2. [Swift]LeetCode15. 三数之和 | 3Sum

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

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

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

  4. leetcode15 三数之和

    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...

  5. leetcode15. 三数之和(详解)

    一:题目 二:上码 class Solution {public:/**思路:1.这个题出其不意之处在于,其先对这个序列进行了排序排序的好处是1>:如果首元素是大于0的,那么如果无论无何也凑不出 ...

  6. LeetCode--15.三数之和

    给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j.i != k 且 j != k ,同时还满足 nums[i] + nums ...

  7. Leetcode--15. 三数之和

    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...

  8. [230420 leetcode15] 三数之和

    题目描述 原题链接 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j.i != k 且 j != k ,同时还满足 nums ...

  9. [Leetcode 18]四数之和 4 Sum

    [题目] Given an array nums of n integers and an integer target, are there elements a, b, c, and d in n ...

最新文章

  1. 用动态实现扩展TVM
  2. Jpcap过滤GTunnel程序数据包
  3. js、jquery相关的操作
  4. 中国最大的python社区-python中的最小最大算法
  5. Cow Relays POJ - 3613
  6. Chrome 私人珍藏-stylus插件实现个性化百度界面定制
  7. javascript加python_是否可以在javascript中添加一些新的语法?
  8. 程序组件通信方案集锦
  9. (python的坑,坑的我头晕,下行循环写后根遍历)
  10. vue-cli3 本地代理配置
  11. android.mk 翻译,翻译ANDROID-MK.TXT
  12. mwc校准油门_编写下载服务器。 第五部分:油门下载速度
  13. 前端学习(2064):vue的生命周期函数有什么
  14. HR不会告诉你的薪资谈判技巧
  15. WSFC CLUSDB
  16. Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理
  17. C盘 html后缀 删,磁盘清理c盘的后果是什么?
  18. JzxxOJ 1299 半斤八两 题解
  19. 域名升级访问中拿笔记好_好记性也应做笔记,安利一款比onenote更好用的云笔记工具...
  20. 台式电脑主板插线步骤图_台式机电源线接法图解(电脑主板接线图解高清图)...

热门文章

  1. opencv CV_8UC1,CV_8UC2,CV_8UC3
  2. 红米reboot to android,红米手机恢复出厂设置进行到reboot system now时显示出错了
  3. 推出 RxR:多语言指令跟随导航基准数据集
  4. Unity 学习笔记 版本 4.6.8
  5. cnpm 安装成功后提示不是内部和外部命令,也不是可运行的命令解决方案
  6. 信息资产分级管理的具体方法(风险评估与风险管理的)朋友可以看看
  7. 转载:狂神说SpringCloud学习笔记
  8. 用vue的事件修饰符阻止冒泡
  9. 用 python 爬取房价信息
  10. Deepin20.9 在线安装qt6.5.1