LeetCode 15. 三数之和(3Sum)
15. 三数之和
15. 3Sum
题目描述
Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.
Note: The solution set must not contain duplicate triplets.
LeetCode15. 3Sum中等
Example:
A solution set is:
[
[-1, 0, 1],
[-1, -1, 2]
]
Java 实现
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res = new ArrayList<>();if (nums == null || nums.length < 3) {return res;}Arrays.sort(nums);for (int i = 0; i < nums.length - 2; i++) {if (i == 0 || nums[i] > nums[i - 1]) {int j = i + 1;int k = nums.length - 1;while (j < k) {if (nums[i] + nums[j] + nums[k] == 0) {List<Integer> list = new ArrayList<>();list.add(nums[i]);list.add(nums[j]);list.add(nums[k]);res.add(list);j++;k--;while (j < k && nums[j] == nums[j - 1]) {j++;}while (j < k && nums[k] == nums[k + 1]) {k--;}} else if (nums[i] + nums[j] + nums[k] < 0) {j++;} else {k--;}}}}return res;}public static void main(String[] args) {int[] nums = {-1, 0, 1, 2, -1, -4};System.out.println(new Solution().threeSum(nums));}
}
相似题目
- 1. 两数之和 Two Sum
- 16. 最接近的三数之和 3Sum Closest
- 18. 四数之和 4Sum
- 259. 较小的三数之和 3Sum Smaller
参考资料
- https://leetcode-cn.com/problems/3sum/
- https://leetcode.com/problems/3sum/
转载于:https://www.cnblogs.com/hglibin/p/10794862.html
LeetCode 15. 三数之和(3Sum)相关推荐
- [双指针|模拟] leetcode 15 三数之和
[双指针|模拟] leetcode 15 三数之和 1.题目 题目链接 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ? ...
- Java实现 LeetCode 15 三数之和
15. 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以 ...
- LeetCode 15. 三数之和【双指针】
15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j.i != k 且 j != k ,同时还满足 nums[ ...
- LeetCode 15. 三数之和
题目描述 15. 三数之和 思路 思路1 比较容易想到的就是,求三数之和等于0,可以等价于求两个数的和,然后看这个和的相反数是否在nums里面. 但是 T_T这样的话复杂度太高了,会超时,捂脸,最后三 ...
- Leetcode 15.三数之和
Time: 20190920 Type: Medium 题目描述 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所 ...
- LeetCode 15三数之和16最接近的三数之和
三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...
- Leetcode 15:三数之和(最详细解决方案!!!)
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. **注意:**答案中不可以包含重 ...
- 2021-5-11 Leetcode 15.三数之和
1.1我的解法以及考虑到的几点问题 1)数组长度小于3的不用考虑,直接返回 2)暴力法:每一次查找不是自己选择的数字,看一下能否凑成零(但是这样不知道如何去重) 3)拆成一个数字+LC 1.两数之和的 ...
- Leetcode 15.三数之和 双指针 or 暴力哈希
题目链接:传送门 题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组. 暴力+ ...
最新文章
- golang中slice切片的修改操作
- 移动应用性能测试白皮书
- WPF多表头技术探索总结
- ABAP中有关于换行符,TAB KEY等
- 【mysq 5.7.31】远程访问权限(允许远程连接)
- 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升 1
- jquery 上传图片 java_jquery 异步提交表单 上传图片小例子
- 二叉排序树删除节点_二叉排序树的创建、插入和删除
- 放球问题 组合数学 转自百度百科
- pythonsorted函数cmp_python3中sorted函数里cmp参数改变详解
- 一张图架构示意图及简单分析
- 服务器地址怎么查 如何远程登录服务器教程
- 计算机网络雨课堂练习11
- 音视频 — 视频编码原理
- 时间序列分析-针对时间序列的特殊方法
- Java基础类型的种类
- 解析蓝牙模块的运用方案
- MATLAB FFT算法的应用
- 推荐WebSocket、Https移动端(iOS)抓包工具mitmproxy
- java pkcs7_使用PKCS#7进行加密解密