Leetcode#18||4 Sum

来源:互联网 发布:拧紧水龙头 网络热词 编辑:程序博客网 时间:2024/04/26 07:04


public class Solution {    public List<List<Integer>> fourSum(int[] nums, int target) {        List<List<Integer>> result = new ArrayList<List<Integer>>();                if (nums == null || nums.length < 3) {            return result;        }                Set<List<Integer>> set = new HashSet<List<Integer>>();        Arrays.sort(nums);                for (int i = 0; i < nums.length; i++) {            for (int j = i + 1; j < nums.length; 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) {                        right--;                    } else if (sum < target) {                        left++;                    } else {                        List<Integer> temp = new ArrayList<Integer>();                        temp.add(nums[i]);                        temp.add(nums[j]);                        temp.add(nums[left]);                        temp.add(nums[right]);                                                if (!set.contains(temp)) {                            set.add(temp);                            result.add(temp);                        }                                                left++;                        right--;                    }                }            }        }                return result;              }}


0 0
原创粉丝点击