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:

Given array nums = [-1, 0, 1, 2, -1, -4],

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)相关推荐

  1. [双指针|模拟] leetcode 15 三数之和

    [双指针|模拟] leetcode 15 三数之和 1.题目 题目链接 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ? ...

  2. Java实现 LeetCode 15 三数之和

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

  3. LeetCode 15. 三数之和【双指针】

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

  4. LeetCode 15. 三数之和

    题目描述 15. 三数之和 思路 思路1 比较容易想到的就是,求三数之和等于0,可以等价于求两个数的和,然后看这个和的相反数是否在nums里面. 但是 T_T这样的话复杂度太高了,会超时,捂脸,最后三 ...

  5. Leetcode 15.三数之和

    Time: 20190920 Type: Medium 题目描述 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所 ...

  6. LeetCode 15三数之和16最接近的三数之和

    三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...

  7. Leetcode 15:三数之和(最详细解决方案!!!)

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

  8. 2021-5-11 Leetcode 15.三数之和

    1.1我的解法以及考虑到的几点问题 1)数组长度小于3的不用考虑,直接返回 2)暴力法:每一次查找不是自己选择的数字,看一下能否凑成零(但是这样不知道如何去重) 3)拆成一个数字+LC 1.两数之和的 ...

  9. Leetcode 15.三数之和 双指针 or 暴力哈希

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

最新文章

  1. golang中slice切片的修改操作
  2. 移动应用性能测试白皮书
  3. WPF多表头技术探索总结
  4. ABAP中有关于换行符,TAB KEY等
  5. 【mysq 5.7.31】远程访问权限(允许远程连接)
  6. 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升 1
  7. jquery 上传图片 java_jquery 异步提交表单 上传图片小例子
  8. 二叉排序树删除节点_二叉排序树的创建、插入和删除
  9. 放球问题 组合数学 转自百度百科
  10. pythonsorted函数cmp_python3中sorted函数里cmp参数改变详解
  11. 一张图架构示意图及简单分析
  12. 服务器地址怎么查 如何远程登录服务器教程
  13. 计算机网络雨课堂练习11
  14. 音视频 — 视频编码原理
  15. 时间序列分析-针对时间序列的特殊方法
  16. Java基础类型的种类
  17. 解析蓝牙模块的运用方案
  18. MATLAB FFT算法的应用
  19. 推荐WebSocket、Https移动端(iOS)抓包工具mitmproxy
  20. java pkcs7_使用PKCS#7进行加密解密

热门文章

  1. Grafana密码重置为admin
  2. 为什么说区块链是具有革命性意义的?
  3. 负边距在布局中的使用
  4. 英特尔吃iPhone 7 Modem芯片订单可能逾5成 挹注15亿美元营收
  5. 经纪xx系统节点VIP案例介绍和深入分析异常
  6. SqlParameter[] 添加参数
  7. 解决域中打印机不能共享打印的问题
  8. 分布式设计与开发(四)------数据拆分
  9. EPCS 无法配置FPGA的解决方法以及JTAG、AS调试总结
  10. Win2003远程桌面报错:RPC错误 解决办法