package com.haxitable.java; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; public class seven { //方法一:哈希法 public List> threeSum(int[] nums) { List
> result = new ArrayList<>(); Arrays.sort(nums); for(int i = 0; i < nums.length; i++) { if(nums[i] > 0) { return result; } if(i > 0 && nums[i] == nums[i-1]) { continue; } int left = i + 1; int right = nums.length - 1; while(right > left) { int sum = nums[i] + nums[left] + nums[right]; if(sum > 0) { right--; }else if(sum < 0) { left++; }else { result.add(Arrays.asList(nums[i] , nums[left], nums[right])); //移动right和left继续循环 while(right > left && nums[right] == nums[right-1]) { right--; } while(right > left && nums[left] == nums[left+1]) { left++; } right--; left++; } } } return result; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)