leetcode(18:四数之和 java实现)

第三天 我会坚持下去每天做一两道题,谢谢大家支持,我会努力

package LeetCode; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; public class FourSum { public List> fourSum(int[] nums, int target) { if(nums.length<4) return new ArrayList<>(); Arrays.sort(nums); HashSet> set = new HashSet<>(); int i=0; int j=nums.length-1; while(j-i>2){ //作为比较对象 int juge=0; int k=i+1; int l=j-1; while(k result = new ArrayList(); result.add(nums[i]); result.add(nums[k]); result.add(nums[j]); result.add(nums[l]); set.add(result); while(k< l && nums[k] == nums[k + 1]){ k++; } while(k3){ j--; }else { i++; j=nums.length-1; } } return new ArrayList<>(set); } public static void main(String []args){ FourSum a=new FourSum(); int [] s={-3,-1,0,2,4,5}; System.out.println(a.fourSum(s, 2)); } }

【leetcode(18:四数之和 java实现)】

    推荐阅读