3Sum
来源:互联网 发布:vb 图片放大 编辑:程序博客网 时间:2024/06/03 17:00
先将数组进行排列,从i=0开始循环,每个遇见相等的数向前进一位,同时设立两个观察哨兵(left、right),当每一次有a+b+c=0时候添加一个list,同时,也是left和right遇见相等的数分别向前和向后进一位。具体代码如下:
public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer>>set=new ArrayList<List<Integer>>(); if (nums==null||nums.length<3) return null; Arrays.sort(nums); for (int i = 0; i < nums.length-2; i++) { if (i==0||nums[i]>nums[i-1]) { int left=i+1; int right=nums.length-1; while (left<right) { if (nums[i]+nums[left]+nums[right]==0) { List<Integer>list=new ArrayList<>(); list.add(nums[i]); list.add(nums[left]); list.add(nums[right]); set.add(list); left++; right--; while(left<right&&nums[left]==nums[left-1]) left++; while(left<right&&nums[right]==nums[right+1]) right--; }else if (nums[i]+nums[left]+nums[right]<0) left++; else right--; } } } return set;}
0 0
- Two Sum && 3 Sum
- 【Leetcode】3Sum (Sum)
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- leetcode 2 sum 3sum 4sum
- 2Sum 3Sum 4Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 3Sum
- 3SUM
- 3-sum
- 3Sum
- 3Sum
- 3Sum
- 3Sum
- nginx事件模块执行过程
- WebView的使用小结
- Mongo 介绍和使用
- APIJSON,让接口和文档见鬼去吧!
- 机器人信息收集1
- 3Sum
- Mongo 主从
- 建造者模式
- Java基础初学之数组
- 简单介绍MJRefresh的简单使用
- 学习运维——MariaDB数据库
- N皇后问题
- 20170308技术积累
- 学习笔记