LeetCode解题报告--4Sum

题目: 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.

Note:
Elements in a quadruplet (a,b,c,d) must be in non-descending order. (ie, a ≤ b ≤ c ≤ d)
The solution set must not contain duplicate quadruplets.
For example, given array S = {1 0 -1 0 -2 2}, and target = 0.

A solution set is:
(-1,  0, 0, 1)
(-2, -1, 1, 2)
(-2,  0, 0, 2)

原题链接地址:https://leetcode.com/problems/4sum/

分析:该问题与leetcode 3sum问题解题思路一样,都是由2Sum问题的基础拓展开来。在3sum基础加for循环,时间复杂度为0(N^2).具体可参见3sum,这里直接贴出accepted代码。下一篇关于2Sum,3Sum(closest),4Sum的问题总结,延伸至KSum问题

java代码:(accepted)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class FourSum {

    /** * @param args */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arrays = new int[]{7, -1, 14, -12, -8, 7, 2, -15, 8, 8, -8, -14, -4,
                -5, 7, 9, 11, -4, -15, -6, 1, -14, 4, 3, 10, -5, 2, 1, 6, 11,
                2, -2, -5, -7, -6, 2, -15, 11, -6, 8, -4, 2, 1, -1, 4, -6, -15,
                1, 5, -15, 10, 14, 9, -8, -6, 4, -6, 11, 12, -15, 7, -1, -9, 9,
                -1, 0, -4, -1, -12, -2, 14, -9, 7, 0, -3, -4, 1, -2, 12, 14,
                -10, 0, 5, 14, -1, 14, 3, 8, 10, -8, 8, -5, -2, 6, -11, 12, 13,
                -7, -12, 8, 6, -13, 14, -2, -5, -11, 1, 3, -6 };
        List<List<Integer>> result = new ArrayList<List<Integer>>();
        result = fourSum(arrays,0);
        for(int i = 0;i < result.size();i ++)
            System.out.println(result.get(i));
    }

    public static List<List<Integer>> fourSum(int[] nums, int target) {

        List<List<Integer>> result = new ArrayList<List<Integer>>();
        HashSet<List<Integer>> elementSet = new HashSet<List<Integer>>();
        Arrays.sort(nums);

        for(int i = 0;i < nums.length - 3;i ++){
            for(int j = i + 1;j < nums.length - 2;j ++){
                int left = j + 1;
                int right = nums.length - 1;
                while(left < right){
                    int sum = nums[i] + nums[j] + nums[left] + nums[right];
                    if(sum == target){
                        List<Integer> taplet = new ArrayList<Integer>();
                        taplet.add(nums[i]);
                        taplet.add(nums[j]);
                        taplet.add(nums[left]);
                        taplet.add(nums[right]);
                        if(!elementSet.contains(taplet)){
                            result.add(taplet);
                            elementSet.add(taplet);
                        }
                        left ++;
                        right --;
                    }else if(sum < target){
                        left ++;
                    }else{
                        right --;
                    }
                }
            }
        }
        return result;
    }

}

测试结果:

[-15, -13, 14, 14]
[-15, -12, 13, 14]
[-15, -11, 12, 14]
[-15, -10, 11, 14]
[-15, -10, 12, 13]
[-15, -9, 10, 14]
[-15, -9, 11, 13]
[-15, -9, 12, 12]
[-15, -8, 9, 14]
[-15, -8, 10, 13]
[-15, -8, 11, 12]
[-15, -7, 8, 14]
[-15, -7, 9, 13]
[-15, -7, 10, 12]
[-15, -7, 11, 11]
[-15, -6, 7, 14]
[-15, -6, 8, 13]
[-15, -6, 9, 12]
[-15, -6, 10, 11]
[-15, -5, 6, 14]
[-15, -5, 7, 13]
[-15, -5, 8, 12]
[-15, -5, 9, 11]
[-15, -5, 10, 10]
[-15, -4, 5, 14]
[-15, -4, 6, 13]
[-15, -4, 7, 12]
[-15, -4, 8, 11]
[-15, -4, 9, 10]
[-15, -3, 4, 14]
[-15, -3, 5, 13]
[-15, -3, 6, 12]
[-15, -3, 7, 11]
[-15, -3, 8, 10]
[-15, -3, 9, 9]
[-15, -2, 3, 14]
[-15, -2, 4, 13]
[-15, -2, 5, 12]
[-15, -2, 6, 11]
[-15, -2, 7, 10]
[-15, -2, 8, 9]
[-15, -1, 2, 14]
[-15, -1, 3, 13]
[-15, -1, 4, 12]
[-15, -1, 5, 11]
[-15, -1, 6, 10]
[-15, -1, 7, 9]
[-15, -1, 8, 8]
[-15, 0, 1, 14]
[-15, 0, 2, 13]
[-15, 0, 3, 12]
[-15, 0, 4, 11]
[-15, 0, 5, 10]
[-15, 0, 6, 9]
[-15, 0, 7, 8]
[-15, 1, 1, 13]
[-15, 1, 2, 12]
[-15, 1, 3, 11]
[-15, 1, 4, 10]
[-15, 1, 5, 9]
[-15, 1, 6, 8]
[-15, 1, 7, 7]
[-15, 2, 2, 11]
[-15, 2, 3, 10]
[-15, 2, 4, 9]
[-15, 2, 5, 8]
[-15, 2, 6, 7]
[-15, 3, 3, 9]
[-15, 3, 4, 8]
[-15, 3, 5, 7]
[-15, 3, 6, 6]
[-15, 4, 4, 7]
[-15, 4, 5, 6]
[-14, -14, 14, 14]
[-14, -13, 13, 14]
[-14, -12, 12, 14]
[-14, -11, 11, 14]
[-14, -11, 12, 13]
[-14, -10, 10, 14]
[-14, -10, 11, 13]
[-14, -10, 12, 12]
[-14, -9, 9, 14]
[-14, -9, 10, 13]
[-14, -9, 11, 12]
[-14, -8, 8, 14]
[-14, -8, 9, 13]
[-14, -8, 10, 12]
[-14, -8, 11, 11]
[-14, -7, 7, 14]
[-14, -7, 8, 13]
[-14, -7, 9, 12]
[-14, -7, 10, 11]
[-14, -6, 6, 14]
[-14, -6, 7, 13]
[-14, -6, 8, 12]
[-14, -6, 9, 11]
[-14, -6, 10, 10]
[-14, -5, 5, 14]
[-14, -5, 6, 13]
[-14, -5, 7, 12]
[-14, -5, 8, 11]
[-14, -5, 9, 10]
[-14, -4, 4, 14]
[-14, -4, 5, 13]
[-14, -4, 6, 12]
[-14, -4, 7, 11]
[-14, -4, 8, 10]
[-14, -4, 9, 9]
[-14, -3, 3, 14]
[-14, -3, 4, 13]
[-14, -3, 5, 12]
[-14, -3, 6, 11]
[-14, -3, 7, 10]
[-14, -3, 8, 9]
[-14, -2, 2, 14]
[-14, -2, 3, 13]
[-14, -2, 4, 12]
[-14, -2, 5, 11]
[-14, -2, 6, 10]
[-14, -2, 7, 9]
[-14, -2, 8, 8]
[-14, -1, 1, 14]
[-14, -1, 2, 13]
[-14, -1, 3, 12]
[-14, -1, 4, 11]
[-14, -1, 5, 10]
[-14, -1, 6, 9]
[-14, -1, 7, 8]
[-14, 0, 0, 14]
[-14, 0, 1, 13]
[-14, 0, 2, 12]
[-14, 0, 3, 11]
[-14, 0, 4, 10]
[-14, 0, 5, 9]
[-14, 0, 6, 8]
[-14, 0, 7, 7]
[-14, 1, 1, 12]
[-14, 1, 2, 11]
[-14, 1, 3, 10]
[-14, 1, 4, 9]
[-14, 1, 5, 8]
[-14, 1, 6, 7]
[-14, 2, 2, 10]
[-14, 2, 3, 9]
[-14, 2, 4, 8]
[-14, 2, 5, 7]
[-14, 2, 6, 6]
[-14, 3, 3, 8]
[-14, 3, 4, 7]
[-14, 3, 5, 6]
[-14, 4, 4, 6]
[-14, 4, 5, 5]
[-13, -12, 11, 14]
[-13, -12, 12, 13]
[-13, -11, 10, 14]
[-13, -11, 11, 13]
[-13, -11, 12, 12]
[-13, -10, 9, 14]
[-13, -10, 10, 13]
[-13, -10, 11, 12]
[-13, -9, 8, 14]
[-13, -9, 9, 13]
[-13, -9, 10, 12]
[-13, -9, 11, 11]
[-13, -8, 7, 14]
[-13, -8, 8, 13]
[-13, -8, 9, 12]
[-13, -8, 10, 11]
[-13, -7, 6, 14]
[-13, -7, 7, 13]
[-13, -7, 8, 12]
[-13, -7, 9, 11]
[-13, -7, 10, 10]
[-13, -6, 5, 14]
[-13, -6, 6, 13]
[-13, -6, 7, 12]
[-13, -6, 8, 11]
[-13, -6, 9, 10]
[-13, -5, 4, 14]
[-13, -5, 5, 13]
[-13, -5, 6, 12]
[-13, -5, 7, 11]
[-13, -5, 8, 10]
[-13, -5, 9, 9]
[-13, -4, 3, 14]
[-13, -4, 4, 13]
[-13, -4, 5, 12]
[-13, -4, 6, 11]
[-13, -4, 7, 10]
[-13, -4, 8, 9]
[-13, -3, 2, 14]
[-13, -3, 3, 13]
[-13, -3, 4, 12]
[-13, -3, 5, 11]
[-13, -3, 6, 10]
[-13, -3, 7, 9]
[-13, -3, 8, 8]
[-13, -2, 1, 14]
[-13, -2, 2, 13]
[-13, -2, 3, 12]
[-13, -2, 4, 11]
[-13, -2, 5, 10]
[-13, -2, 6, 9]
[-13, -2, 7, 8]
[-13, -1, 0, 14]
[-13, -1, 1, 13]
[-13, -1, 2, 12]
[-13, -1, 3, 11]
[-13, -1, 4, 10]
[-13, -1, 5, 9]
[-13, -1, 6, 8]
[-13, -1, 7, 7]
[-13, 0, 0, 13]
[-13, 0, 1, 12]
[-13, 0, 2, 11]
[-13, 0, 3, 10]
[-13, 0, 4, 9]
[-13, 0, 5, 8]
[-13, 0, 6, 7]
[-13, 1, 1, 11]
[-13, 1, 2, 10]
[-13, 1, 3, 9]
[-13, 1, 4, 8]
[-13, 1, 5, 7]
[-13, 1, 6, 6]
[-13, 2, 2, 9]
[-13, 2, 3, 8]
[-13, 2, 4, 7]
[-13, 2, 5, 6]
[-13, 3, 3, 7]
[-13, 3, 4, 6]
[-13, 3, 5, 5]
[-13, 4, 4, 5]
[-12, -12, 10, 14]
[-12, -12, 11, 13]
[-12, -12, 12, 12]
[-12, -11, 9, 14]
[-12, -11, 10, 13]
[-12, -11, 11, 12]
[-12, -10, 8, 14]
[-12, -10, 9, 13]
[-12, -10, 10, 12]
[-12, -10, 11, 11]
[-12, -9, 7, 14]
[-12, -9, 8, 13]
[-12, -9, 9, 12]
[-12, -9, 10, 11]
[-12, -8, 6, 14]
[-12, -8, 7, 13]
[-12, -8, 8, 12]
[-12, -8, 9, 11]
[-12, -8, 10, 10]
[-12, -7, 5, 14]
[-12, -7, 6, 13]
[-12, -7, 7, 12]
[-12, -7, 8, 11]
[-12, -7, 9, 10]
[-12, -6, 4, 14]
[-12, -6, 5, 13]
[-12, -6, 6, 12]
[-12, -6, 7, 11]
[-12, -6, 8, 10]
[-12, -6, 9, 9]
[-12, -5, 3, 14]
[-12, -5, 4, 13]
[-12, -5, 5, 12]
[-12, -5, 6, 11]
[-12, -5, 7, 10]
[-12, -5, 8, 9]
[-12, -4, 2, 14]
[-12, -4, 3, 13]
[-12, -4, 4, 12]
[-12, -4, 5, 11]
[-12, -4, 6, 10]
[-12, -4, 7, 9]
[-12, -4, 8, 8]
[-12, -3, 1, 14]
[-12, -3, 2, 13]
[-12, -3, 3, 12]
[-12, -3, 4, 11]
[-12, -3, 5, 10]
[-12, -3, 6, 9]
[-12, -3, 7, 8]
[-12, -2, 0, 14]
[-12, -2, 1, 13]
[-12, -2, 2, 12]
[-12, -2, 3, 11]
[-12, -2, 4, 10]
[-12, -2, 5, 9]
[-12, -2, 6, 8]
[-12, -2, 7, 7]
[-12, -1, -1, 14]
[-12, -1, 0, 13]
[-12, -1, 1, 12]
[-12, -1, 2, 11]
[-12, -1, 3, 10]
[-12, -1, 4, 9]
[-12, -1, 5, 8]
[-12, -1, 6, 7]
[-12, 0, 0, 12]
[-12, 0, 1, 11]
[-12, 0, 2, 10]
[-12, 0, 3, 9]
[-12, 0, 4, 8]
[-12, 0, 5, 7]
[-12, 0, 6, 6]
[-12, 1, 1, 10]
[-12, 1, 2, 9]
[-12, 1, 3, 8]
[-12, 1, 4, 7]
[-12, 1, 5, 6]
[-12, 2, 2, 8]
[-12, 2, 3, 7]
[-12, 2, 4, 6]
[-12, 2, 5, 5]
[-12, 3, 3, 6]
[-12, 3, 4, 5]
[-12, 4, 4, 4]
[-11, -11, 8, 14]
[-11, -11, 9, 13]
[-11, -11, 10, 12]
[-11, -11, 11, 11]
[-11, -10, 7, 14]
[-11, -10, 8, 13]
[-11, -10, 9, 12]
[-11, -10, 10, 11]
[-11, -9, 6, 14]
[-11, -9, 7, 13]
[-11, -9, 8, 12]
[-11, -9, 9, 11]
[-11, -9, 10, 10]
[-11, -8, 5, 14]
[-11, -8, 6, 13]
[-11, -8, 7, 12]
[-11, -8, 8, 11]
[-11, -8, 9, 10]
[-11, -7, 4, 14]
[-11, -7, 5, 13]
[-11, -7, 6, 12]
[-11, -7, 7, 11]
[-11, -7, 8, 10]
[-11, -7, 9, 9]
[-11, -6, 3, 14]
[-11, -6, 4, 13]
[-11, -6, 5, 12]
[-11, -6, 6, 11]
[-11, -6, 7, 10]
[-11, -6, 8, 9]
[-11, -5, 2, 14]
[-11, -5, 3, 13]
[-11, -5, 4, 12]
[-11, -5, 5, 11]
[-11, -5, 6, 10]
[-11, -5, 7, 9]
[-11, -5, 8, 8]
[-11, -4, 1, 14]
[-11, -4, 2, 13]
[-11, -4, 3, 12]
[-11, -4, 4, 11]
[-11, -4, 5, 10]
[-11, -4, 6, 9]
[-11, -4, 7, 8]
[-11, -3, 0, 14]
[-11, -3, 1, 13]
[-11, -3, 2, 12]
[-11, -3, 3, 11]
[-11, -3, 4, 10]
[-11, -3, 5, 9]
[-11, -3, 6, 8]
[-11, -3, 7, 7]
[-11, -2, -1, 14]
[-11, -2, 0, 13]
[-11, -2, 1, 12]
[-11, -2, 2, 11]
[-11, -2, 3, 10]
[-11, -2, 4, 9]
[-11, -2, 5, 8]
[-11, -2, 6, 7]
[-11, -1, -1, 13]
[-11, -1, 0, 12]
[-11, -1, 1, 11]
[-11, -1, 2, 10]
[-11, -1, 3, 9]
[-11, -1, 4, 8]
[-11, -1, 5, 7]
[-11, -1, 6, 6]
[-11, 0, 0, 11]
[-11, 0, 1, 10]
[-11, 0, 2, 9]
[-11, 0, 3, 8]
[-11, 0, 4, 7]
[-11, 0, 5, 6]
[-11, 1, 1, 9]
[-11, 1, 2, 8]
[-11, 1, 3, 7]
[-11, 1, 4, 6]
[-11, 1, 5, 5]
[-11, 2, 2, 7]
[-11, 2, 3, 6]
[-11, 2, 4, 5]
[-11, 3, 3, 5]
[-11, 3, 4, 4]
[-10, -9, 5, 14]
[-10, -9, 6, 13]
[-10, -9, 7, 12]
[-10, -9, 8, 11]
[-10, -9, 9, 10]
[-10, -8, 4, 14]
[-10, -8, 5, 13]
[-10, -8, 6, 12]
[-10, -8, 7, 11]
[-10, -8, 8, 10]
[-10, -8, 9, 9]
[-10, -7, 3, 14]
[-10, -7, 4, 13]
[-10, -7, 5, 12]
[-10, -7, 6, 11]
[-10, -7, 7, 10]
[-10, -7, 8, 9]
[-10, -6, 2, 14]
[-10, -6, 3, 13]
[-10, -6, 4, 12]
[-10, -6, 5, 11]
[-10, -6, 6, 10]
[-10, -6, 7, 9]
[-10, -6, 8, 8]
[-10, -5, 1, 14]
[-10, -5, 2, 13]
[-10, -5, 3, 12]
[-10, -5, 4, 11]
[-10, -5, 5, 10]
[-10, -5, 6, 9]
[-10, -5, 7, 8]
[-10, -4, 0, 14]
[-10, -4, 1, 13]
[-10, -4, 2, 12]
[-10, -4, 3, 11]
[-10, -4, 4, 10]
[-10, -4, 5, 9]
[-10, -4, 6, 8]
[-10, -4, 7, 7]
[-10, -3, -1, 14]
[-10, -3, 0, 13]
[-10, -3, 1, 12]
[-10, -3, 2, 11]
[-10, -3, 3, 10]
[-10, -3, 4, 9]
[-10, -3, 5, 8]
[-10, -3, 6, 7]
[-10, -2, -2, 14]
[-10, -2, -1, 13]
[-10, -2, 0, 12]
[-10, -2, 1, 11]
[-10, -2, 2, 10]
[-10, -2, 3, 9]
[-10, -2, 4, 8]
[-10, -2, 5, 7]
[-10, -2, 6, 6]
[-10, -1, -1, 12]
[-10, -1, 0, 11]
[-10, -1, 1, 10]
[-10, -1, 2, 9]
[-10, -1, 3, 8]
[-10, -1, 4, 7]
[-10, -1, 5, 6]
[-10, 0, 0, 10]
[-10, 0, 1, 9]
[-10, 0, 2, 8]
[-10, 0, 3, 7]
[-10, 0, 4, 6]
[-10, 0, 5, 5]
[-10, 1, 1, 8]
[-10, 1, 2, 7]
[-10, 1, 3, 6]
[-10, 1, 4, 5]
[-10, 2, 2, 6]
[-10, 2, 3, 5]
[-10, 2, 4, 4]
[-10, 3, 3, 4]
[-9, -9, 4, 14]
[-9, -9, 5, 13]
[-9, -9, 6, 12]
[-9, -9, 7, 11]
[-9, -9, 8, 10]
[-9, -9, 9, 9]
[-9, -8, 3, 14]
[-9, -8, 4, 13]
[-9, -8, 5, 12]
[-9, -8, 6, 11]
[-9, -8, 7, 10]
[-9, -8, 8, 9]
[-9, -7, 2, 14]
[-9, -7, 3, 13]
[-9, -7, 4, 12]
[-9, -7, 5, 11]
[-9, -7, 6, 10]
[-9, -7, 7, 9]
[-9, -7, 8, 8]
[-9, -6, 1, 14]
[-9, -6, 2, 13]
[-9, -6, 3, 12]
[-9, -6, 4, 11]
[-9, -6, 5, 10]
[-9, -6, 6, 9]
[-9, -6, 7, 8]
[-9, -5, 0, 14]
[-9, -5, 1, 13]
[-9, -5, 2, 12]
[-9, -5, 3, 11]
[-9, -5, 4, 10]
[-9, -5, 5, 9]
[-9, -5, 6, 8]
[-9, -5, 7, 7]
[-9, -4, -1, 14]
[-9, -4, 0, 13]
[-9, -4, 1, 12]
[-9, -4, 2, 11]
[-9, -4, 3, 10]
[-9, -4, 4, 9]
[-9, -4, 5, 8]
[-9, -4, 6, 7]
[-9, -3, -2, 14]
[-9, -3, -1, 13]
[-9, -3, 0, 12]
[-9, -3, 1, 11]
[-9, -3, 2, 10]
[-9, -3, 3, 9]
[-9, -3, 4, 8]
[-9, -3, 5, 7]
[-9, -3, 6, 6]
[-9, -2, -2, 13]
[-9, -2, -1, 12]
[-9, -2, 0, 11]
[-9, -2, 1, 10]
[-9, -2, 2, 9]
[-9, -2, 3, 8]
[-9, -2, 4, 7]
[-9, -2, 5, 6]
[-9, -1, -1, 11]
[-9, -1, 0, 10]
[-9, -1, 1, 9]
[-9, -1, 2, 8]
[-9, -1, 3, 7]
[-9, -1, 4, 6]
[-9, -1, 5, 5]
[-9, 0, 0, 9]
[-9, 0, 1, 8]
[-9, 0, 2, 7]
[-9, 0, 3, 6]
[-9, 0, 4, 5]
[-9, 1, 1, 7]
[-9, 1, 2, 6]
[-9, 1, 3, 5]
[-9, 1, 4, 4]
[-9, 2, 2, 5]
[-9, 2, 3, 4]
[-9, 3, 3, 3]
[-8, -8, 2, 14]
[-8, -8, 3, 13]
[-8, -8, 4, 12]
[-8, -8, 5, 11]
[-8, -8, 6, 10]
[-8, -8, 7, 9]
[-8, -8, 8, 8]
[-8, -7, 1, 14]
[-8, -7, 2, 13]
[-8, -7, 3, 12]
[-8, -7, 4, 11]
[-8, -7, 5, 10]
[-8, -7, 6, 9]
[-8, -7, 7, 8]
[-8, -6, 0, 14]
[-8, -6, 1, 13]
[-8, -6, 2, 12]
[-8, -6, 3, 11]
[-8, -6, 4, 10]
[-8, -6, 5, 9]
[-8, -6, 6, 8]
[-8, -6, 7, 7]
[-8, -5, -1, 14]
[-8, -5, 0, 13]
[-8, -5, 1, 12]
[-8, -5, 2, 11]
[-8, -5, 3, 10]
[-8, -5, 4, 9]
[-8, -5, 5, 8]
[-8, -5, 6, 7]
[-8, -4, -2, 14]
[-8, -4, -1, 13]
[-8, -4, 0, 12]
[-8, -4, 1, 11]
[-8, -4, 2, 10]
[-8, -4, 3, 9]
[-8, -4, 4, 8]
[-8, -4, 5, 7]
[-8, -4, 6, 6]
[-8, -3, -2, 13]
[-8, -3, -1, 12]
[-8, -3, 0, 11]
[-8, -3, 1, 10]
[-8, -3, 2, 9]
[-8, -3, 3, 8]
[-8, -3, 4, 7]
[-8, -3, 5, 6]
[-8, -2, -2, 12]
[-8, -2, -1, 11]
[-8, -2, 0, 10]
[-8, -2, 1, 9]
[-8, -2, 2, 8]
[-8, -2, 3, 7]
[-8, -2, 4, 6]
[-8, -2, 5, 5]
[-8, -1, -1, 10]
[-8, -1, 0, 9]
[-8, -1, 1, 8]
[-8, -1, 2, 7]
[-8, -1, 3, 6]
[-8, -1, 4, 5]
[-8, 0, 0, 8]
[-8, 0, 1, 7]
[-8, 0, 2, 6]
[-8, 0, 3, 5]
[-8, 0, 4, 4]
[-8, 1, 1, 6]
[-8, 1, 2, 5]
[-8, 1, 3, 4]
[-8, 2, 2, 4]
[-8, 2, 3, 3]
[-7, -7, 0, 14]
[-7, -7, 1, 13]
[-7, -7, 2, 12]
[-7, -7, 3, 11]
[-7, -7, 4, 10]
[-7, -7, 5, 9]
[-7, -7, 6, 8]
[-7, -7, 7, 7]
[-7, -6, -1, 14]
[-7, -6, 0, 13]
[-7, -6, 1, 12]
[-7, -6, 2, 11]
[-7, -6, 3, 10]
[-7, -6, 4, 9]
[-7, -6, 5, 8]
[-7, -6, 6, 7]
[-7, -5, -2, 14]
[-7, -5, -1, 13]
[-7, -5, 0, 12]
[-7, -5, 1, 11]
[-7, -5, 2, 10]
[-7, -5, 3, 9]
[-7, -5, 4, 8]
[-7, -5, 5, 7]
[-7, -5, 6, 6]
[-7, -4, -3, 14]
[-7, -4, -2, 13]
[-7, -4, -1, 12]
[-7, -4, 0, 11]
[-7, -4, 1, 10]
[-7, -4, 2, 9]
[-7, -4, 3, 8]
[-7, -4, 4, 7]
[-7, -4, 5, 6]
[-7, -3, -2, 12]
[-7, -3, -1, 11]
[-7, -3, 0, 10]
[-7, -3, 1, 9]
[-7, -3, 2, 8]
[-7, -3, 3, 7]
[-7, -3, 4, 6]
[-7, -3, 5, 5]
[-7, -2, -2, 11]
[-7, -2, -1, 10]
[-7, -2, 0, 9]
[-7, -2, 1, 8]
[-7, -2, 2, 7]
[-7, -2, 3, 6]
[-7, -2, 4, 5]
[-7, -1, -1, 9]
[-7, -1, 0, 8]
[-7, -1, 1, 7]
[-7, -1, 2, 6]
[-7, -1, 3, 5]
[-7, -1, 4, 4]
[-7, 0, 0, 7]
[-7, 0, 1, 6]
[-7, 0, 2, 5]
[-7, 0, 3, 4]
[-7, 1, 1, 5]
[-7, 1, 2, 4]
[-7, 1, 3, 3]
[-7, 2, 2, 3]
[-6, -6, -2, 14]
[-6, -6, -1, 13]
[-6, -6, 0, 12]
[-6, -6, 1, 11]
[-6, -6, 2, 10]
[-6, -6, 3, 9]
[-6, -6, 4, 8]
[-6, -6, 5, 7]
[-6, -6, 6, 6]
[-6, -5, -3, 14]
[-6, -5, -2, 13]
[-6, -5, -1, 12]
[-6, -5, 0, 11]
[-6, -5, 1, 10]
[-6, -5, 2, 9]
[-6, -5, 3, 8]
[-6, -5, 4, 7]
[-6, -5, 5, 6]
[-6, -4, -4, 14]
[-6, -4, -3, 13]
[-6, -4, -2, 12]
[-6, -4, -1, 11]
[-6, -4, 0, 10]
[-6, -4, 1, 9]
[-6, -4, 2, 8]
[-6, -4, 3, 7]
[-6, -4, 4, 6]
[-6, -4, 5, 5]
[-6, -3, -2, 11]
[-6, -3, -1, 10]
[-6, -3, 0, 9]
[-6, -3, 1, 8]
[-6, -3, 2, 7]
[-6, -3, 3, 6]
[-6, -3, 4, 5]
[-6, -2, -2, 10]
[-6, -2, -1, 9]
[-6, -2, 0, 8]
[-6, -2, 1, 7]
[-6, -2, 2, 6]
[-6, -2, 3, 5]
[-6, -2, 4, 4]
[-6, -1, -1, 8]
[-6, -1, 0, 7]
[-6, -1, 1, 6]
[-6, -1, 2, 5]
[-6, -1, 3, 4]
[-6, 0, 0, 6]
[-6, 0, 1, 5]
[-6, 0, 2, 4]
[-6, 0, 3, 3]
[-6, 1, 1, 4]
[-6, 1, 2, 3]
[-6, 2, 2, 2]
[-5, -5, -4, 14]
[-5, -5, -3, 13]
[-5, -5, -2, 12]
[-5, -5, -1, 11]
[-5, -5, 0, 10]
[-5, -5, 1, 9]
[-5, -5, 2, 8]
[-5, -5, 3, 7]
[-5, -5, 4, 6]
[-5, -5, 5, 5]
[-5, -4, -4, 13]
[-5, -4, -3, 12]
[-5, -4, -2, 11]
[-5, -4, -1, 10]
[-5, -4, 0, 9]
[-5, -4, 1, 8]
[-5, -4, 2, 7]
[-5, -4, 3, 6]
[-5, -4, 4, 5]
[-5, -3, -2, 10]
[-5, -3, -1, 9]
[-5, -3, 0, 8]
[-5, -3, 1, 7]
[-5, -3, 2, 6]
[-5, -3, 3, 5]
[-5, -3, 4, 4]
[-5, -2, -2, 9]
[-5, -2, -1, 8]
[-5, -2, 0, 7]
[-5, -2, 1, 6]
[-5, -2, 2, 5]
[-5, -2, 3, 4]
[-5, -1, -1, 7]
[-5, -1, 0, 6]
[-5, -1, 1, 5]
[-5, -1, 2, 4]
[-5, -1, 3, 3]
[-5, 0, 0, 5]
[-5, 0, 1, 4]
[-5, 0, 2, 3]
[-5, 1, 1, 3]
[-5, 1, 2, 2]
[-4, -4, -4, 12]
[-4, -4, -3, 11]
[-4, -4, -2, 10]
[-4, -4, -1, 9]
[-4, -4, 0, 8]
[-4, -4, 1, 7]
[-4, -4, 2, 6]
[-4, -4, 3, 5]
[-4, -4, 4, 4]
[-4, -3, -2, 9]
[-4, -3, -1, 8]
[-4, -3, 0, 7]
[-4, -3, 1, 6]
[-4, -3, 2, 5]
[-4, -3, 3, 4]
[-4, -2, -2, 8]
[-4, -2, -1, 7]
[-4, -2, 0, 6]
[-4, -2, 1, 5]
[-4, -2, 2, 4]
[-4, -2, 3, 3]
[-4, -1, -1, 6]
[-4, -1, 0, 5]
[-4, -1, 1, 4]
[-4, -1, 2, 3]
[-4, 0, 0, 4]
[-4, 0, 1, 3]
[-4, 0, 2, 2]
[-4, 1, 1, 2]
[-3, -2, -2, 7]
[-3, -2, -1, 6]
[-3, -2, 0, 5]
[-3, -2, 1, 4]
[-3, -2, 2, 3]
[-3, -1, -1, 5]
[-3, -1, 0, 4]
[-3, -1, 1, 3]
[-3, -1, 2, 2]
[-3, 0, 0, 3]
[-3, 0, 1, 2]
[-3, 1, 1, 1]
[-2, -2, -2, 6]
[-2, -2, -1, 5]
[-2, -2, 0, 4]
[-2, -2, 1, 3]
[-2, -2, 2, 2]
[-2, -1, -1, 4]
[-2, -1, 0, 3]
[-2, -1, 1, 2]
[-2, 0, 0, 2]
[-2, 0, 1, 1]
[-1, -1, -1, 3]
[-1, -1, 0, 2]
[-1, -1, 1, 1]
[-1, 0, 0, 1]

相关代码放在个人github:https://github.com/gannyee/LeetCode/

点赞