leetcode15 3Sum
2015-10-14 16:55
411 查看
/**
<span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">Given an array </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">S</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> of </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">n</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> integers, are there elements </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">a</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">, </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">b</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">, </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">c</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> in </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">S</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> such that </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">a</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> + </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">b</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> + </span><span style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">c</span><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;"> = 0? Find all unique triplets in the array which gives the sum of zero.</span>
*/
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> numbers = new ArrayList<List<Integer>>(); Arrays.sort(nums); int n = nums.length; for(int i = 0;i<n;i++){ if(i>0 && nums[i]==nums[i-1]) { continue; } int j = i+1, k = n-1; while(j<k){ if(j>i+1 && nums[j]==nums[j-1]){ j++; continue; } if(nums[j]+nums[k]+nums[i]==0 ){ List<Integer> number = new ArrayList<Integer>(); number.add(nums[i]); number.add(nums[j]); number.add(nums[k]); numbers.add(number); j++; k--; }else{ if(nums[j]+nums[k]+nums[i]>0){ k--; }else{ j++; } } } } return numbers; } /** * @param args */ public static void main(String[] args) { int[] nums = {-4,-2,1,-5,-4,-4,4,-2,0,4,0,-2,3,1,-5,0}; List<List<Integer>> numbers = new Solution().threeSum(nums); for(int i = 0;i<numbers.size();i++){ for (int j = 0; j < numbers.get(i).size(); j++) { System.out.print(numbers.get(i).get(j)+" "); } System.out.println(); } } }
相关文章推荐
- MySQL InnoDB存储引擎的内存及其管理
- js总结示意图、javascript总结、javascript 学习线路图
- Borland license information was found,but it is not valid for delphi.
- HDU 4821 String hash
- panic early exception 0d rip 10:ffffffff81038879 error 0 cr2 0
- (一) Laravel学习笔记之构造服务端API——数据填充//待完善V1.0版
- 网络中校验和比较
- 预览版用户注意! 这些Win10版本10月15日到期
- 232转can转换器 最新工艺
- 第一篇Zstack之创建虚拟机
- Android编译系统分析
- Android ListView (1) -- 使用自定义的分割线
- As Easy As A+B
- git config 使用讲解
- ShopNC多用户商城标题去版权 后台去版权方法2.0版本
- ResourceString的用法
- CSS书写顺序
- IOS开发之SWIFT
- iptables详解
- saiku - 免登陆进入管理后台