三层嵌套循环不够高效,在leetcode上最后几个testcase,执行超时,无法accept。重写之前,将该实现保存
public class Solution { public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); List<List<Integer>> resList=new LinkedList<>(); List<String> duplicateList= new LinkedList<String>(); int sum=0; for(int i=0;i<nums.length-2;i++){ for(int j=i+1;j<nums.length-1;j++){ for(int k=j+1;k<nums.length;k++){ sum=nums[i]+nums[j]+nums[k]; if(sum==0){ String arrayStr=""+nums[i]+nums[j]+nums[k]; //System.out.println(arrayStr); if(!duplicateList.contains(arrayStr)){ // System.out.println("add here"+arrayStr); duplicateList.add(arrayStr); resList.add(Arrays.asList(nums[i],nums[j],nums[k])); } } } } } return resList; } }