ITPub博客

首页 > > > 3sum

3sum

作者:友哥 时间:2017-07-01 19:08:00 0 删除 编辑

三层嵌套循环不够高效,在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;
    }
}

 

原文作者:;如有侵权,请联系管理员删除。

上一篇: 受制于人
下一篇: 发展新事物
请登录后发表评论 登录
全部评论

注册时间:2020-05-20

  • 博文量
    276
  • 访问量
    999