• leetcode : 4 sum (再次提交,超时)


    Given an array S of n integers, are there elements abc, 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: 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]
    ]

    tag : two points

    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 < 4){
    			return result;
    		}
    		
    		Arrays.sort(nums);
    		
    		for(int i = 0; i < nums.length - 3; i++){
    			int a = nums[i];
    			if(i != 0 && nums[i-1] == nums[i]){
    				continue;
    			}
    			
    			int j;
    			
    			for(j = i + 1; j < nums.length - 2; j ++){
    				int b = nums[j];
    				if(j != i + 1 && nums[j-1] == nums[j] ){
    					continue;
    				}
    				
    				int left = j + 1;
    				int right = nums.length - 1;
    				
    				while(left < right){
    					int sum = a + b + nums[left] + nums[right];
    					if(sum == target){
    						List<Integer> list = new ArrayList<Integer>();
    						list.add(a);
    						list.add(b);
    						list.add(nums[left]);
    						list.add(nums[right]);
    						result.add(list);
    						left++;
    						right--;
    						while(left < right && nums[left] == nums[left-1]){
    							left++;
    						}
    						while(left < right && nums[right+1] == nums[right]){
    							right--;
    						}
    					}else if(sum < target){
    						left++;
    					}else{
    						right--;
    					}
    				}
    			}
    			
    			
    		}
    		
    		return result;
    
        }
    }
    

      

  • 相关阅读:
    H5相关网址
    ASP.NET MVC Razor视图引擎攻略
    深度解析 ASP.NET MVC 5
    .Net MVC 框架基础知识
    java SDK服务端推送 --极光推送(JPush)
    Nexus Repository Manager OSS 3.x 安装配置
    java项目中使用ffmpeg剪辑部分视频
    net 异步与同步
    IDEA把spring-boot项目打包成jar
    开放api接口签名验证
  • 原文地址:https://www.cnblogs.com/superzhaochao/p/6399633.html
Copyright © 2020-2023  润新知