3sum

三层嵌套循环不够高效,在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;
    }
}
MySQL限时解答,24小时内友哥专业解答
http://www.yougemysqldba.com
如有进一步需要请联系微信onesoft007
微博账号@友哥一指
原文地址:https://www.cnblogs.com/youge-OneSQL/p/7103189.html