Leetcode15之三数之和
题目
给你一个包含 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之三数之和相关推荐
- LeetCode15. 三数之和 16. 最接近的三数之和
LeetCode15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组 ...
- [Swift]LeetCode15. 三数之和 | 3Sum
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- leetcode15. 三数之和(三指针)
一:题目 二:思路 1.这里的去重是指的是我们在遍历元素的时候,遇到相同的挨着的相同的元素的时候要跳过 2.对元素进行排序,为了后面的比较 3.我们用的是三个指针,第一个指针i指向第一个元素,第二个指 ...
- leetcode15 三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...
- leetcode15. 三数之和(详解)
一:题目 二:上码 class Solution {public:/**思路:1.这个题出其不意之处在于,其先对这个序列进行了排序排序的好处是1>:如果首元素是大于0的,那么如果无论无何也凑不出 ...
- LeetCode--15.三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j.i != k 且 j != k ,同时还满足 nums[i] + nums ...
- Leetcode--15. 三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...
- [230420 leetcode15] 三数之和
题目描述 原题链接 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j.i != k 且 j != k ,同时还满足 nums ...
- [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 ...
最新文章
- 用动态实现扩展TVM
- Jpcap过滤GTunnel程序数据包
- js、jquery相关的操作
- 中国最大的python社区-python中的最小最大算法
- Cow Relays POJ - 3613
- Chrome 私人珍藏-stylus插件实现个性化百度界面定制
- javascript加python_是否可以在javascript中添加一些新的语法?
- 程序组件通信方案集锦
- (python的坑,坑的我头晕,下行循环写后根遍历)
- vue-cli3 本地代理配置
- android.mk 翻译,翻译ANDROID-MK.TXT
- mwc校准油门_编写下载服务器。 第五部分:油门下载速度
- 前端学习(2064):vue的生命周期函数有什么
- HR不会告诉你的薪资谈判技巧
- WSFC CLUSDB
- Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理
- C盘 html后缀 删,磁盘清理c盘的后果是什么?
- JzxxOJ 1299 半斤八两 题解
- 域名升级访问中拿笔记好_好记性也应做笔记,安利一款比onenote更好用的云笔记工具...
- 台式电脑主板插线步骤图_台式机电源线接法图解(电脑主板接线图解高清图)...
热门文章
- opencv CV_8UC1,CV_8UC2,CV_8UC3
- 红米reboot to android,红米手机恢复出厂设置进行到reboot system now时显示出错了
- 推出 RxR:多语言指令跟随导航基准数据集
- Unity 学习笔记 版本 4.6.8
- cnpm 安装成功后提示不是内部和外部命令,也不是可运行的命令解决方案
- 信息资产分级管理的具体方法(风险评估与风险管理的)朋友可以看看
- 转载:狂神说SpringCloud学习笔记
- 用vue的事件修饰符阻止冒泡
- 用 python 爬取房价信息
- Deepin20.9 在线安装qt6.5.1