zoukankan      html  css  js  c++  java
  • LeetCode 18. 4Sum

    题目

    和之前的一样的思路 O(N^(k-1))

    class Solution {
    public:
        vector<vector<int>> fourSum(vector<int>& nums, int target) {
           
            sort(nums.begin(),nums.end());
            int length = nums.size();
            
            vector<vector<int>> ans;
            vector<int> res;
            for(int i=0;i<length;i++)
            {
                if(i==0||nums[i]!=nums[i-1]){
                for(int j=i+1;j<length;j++)
                {
                    if(j==i+1||nums[j]!=nums[j-1])
                    {
                        int start = j+1;
                        int end = length-1;
                        while(start<end)
                        {
                            res.clear();
                            if(nums[i]+nums[j]+nums[start]+nums[end]<target)
                            {
                                start++;
                                continue;
                            }
                            if(nums[i]+nums[j]+nums[start]+nums[end]>target)
                            {
                                end--;
                                continue;
                            }
                            if(nums[i]+nums[j]+nums[start]+nums[end]==target)
                            {
                                res.push_back(nums[i]);
                                res.push_back(nums[j]);
                                res.push_back(nums[start]);
                                res.push_back(nums[end]);
                                ans.push_back(res);
                                
                                while(start<end&&nums[end]==nums[end-1])
                                    end--;
                                while(start<end&&nums[start]==nums[start+1])
                                    start++;
                                
                                start++;
                                end--;
                            }
                        }
                    }
                }
                }
            }
            return ans;
        }
    };
    
  • 相关阅读:
    羊车门悖论
    python--程序语言中的我行我素者
    最大流isap
    约瑟夫环问题
    CF 916 一言题解
    ZJOI2006 书架
    板子
    windows激活流程
    Ant Design 坑
    js+jQuery判断一个点是否在多边形中
  • 原文地址:https://www.cnblogs.com/dacc123/p/11100708.html
Copyright © 2011-2022 走看看