zoukankan      html  css  js  c++  java
  • LeetCode(15) 三数之和 Java

    //现将数组进行升序排序,对等于0的情况比较去重.....
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    class Solution {
        public List<List<Integer>> threeSum(int[] nums) {
            List<List<Integer>> result = new ArrayList<>();
            Arrays.sort(nums);
            int j,k;
            //System.out.println(Arrays.toString(nums));
            for(int i=0; i<nums.length-2; i++) {
                j = nums.length-1;
                k = i + 1;
                //第一层判断
                if(nums[i] > 0) break;
                if(i>0 && nums[i] == nums[i-1]) continue; //如果第二个i和第一个i相同就不必循环 
                while(k < j) {
                    if (nums[i] + nums[j] + nums[k] == 0) {
                        List<Integer> it = Arrays.asList(nums[i],nums[j],nums[k]);
                        result.add(it);
                        while(k<j && nums[k] == nums[k+1]) k++;
                        while(k<j && nums[j] == nums[j-1]) j--;
                        k++;
                        j--;
                    } else if (nums[i] + nums[j] + nums[k] < 0) {
                        k++;
                    } else {
                        j--;
                    }
                }
                
            }
        
            return result;
        }
    }
    
    
    public class test {
        public static void main(String[] args) {
            int[] nums = {-1, 0, 1, 2, -1, -4};
            Solution s = new Solution();
            List<List<Integer>> list = new ArrayList<>();
            list = s.threeSum(nums);
            System.out.println(list.toString());
        }
    }

    补充:

    摘录:https://www.cnblogs.com/shanheyongmu/p/6364320.html

    Arrays.asList(......) :将数组转化为list

    注意:该方法不适用于基本数据类型数组;改方法将数组与列表链接起来,当更新其中之一时,另一个自动更新;不支持add和remove方法

    拼命敲
  • 相关阅读:
    第11组 团队Git现场编程实战
    团队项目-需求分析报告
    团队项目-选题报告
    第10组 Alpha事后诸葛亮
    第10组 Alpha冲刺(6/6)
    第10组 Alpha冲刺(5/6)
    第10组 Alpha冲刺(4/6)
    第10组 Alpha冲刺(3/6)
    第10组 Alpha冲刺(2/6)
    第10组 Alpha冲刺(1/6)
  • 原文地址:https://www.cnblogs.com/wuyuwuyueping/p/9582970.html
Copyright © 2011-2022 走看看