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

    #include <string>
    #include <stack>
    #include <vector>
    #include <map>
    #include <algorithm>
    using namespace std;

    vector<vector<int>> fourSum(vector<int>& nums, int target) {
        vector<vector<int>> res;
        sort(nums.begin(), nums.end());
        int len = nums.size();
       
        for (int i = 0; i < len; i++) {
            for (int j = i + 1; j < len; j++) {
                int third = j + 1, fouth = len - 1;
                while (third < fouth) {
                    int sum = nums[i]+nums[j]+ nums[third]+nums[fouth];
                    if (target == sum) {
                        vector<int> temp = { nums[i],nums[j],nums[third],nums[fouth] };
                        res.push_back(temp);
                        while (third < fouth && nums[third ] == temp[2]) third++;
                        while (third < fouth && nums[fouth ] == temp[3]) fouth--;
                    }
                    else sum < target ? third++ : fouth--;
                }
                while ((j + 1 < len) && nums[j] == nums[j + 1]) j++;
            }
            while ((i + 1 < len) && nums[i] == nums[i + 1]) i++;
        }
        return res;
    }
    int main() {
        vector<int> nums = { 1,0,-1,0,-2,2};
        int target = 0;
        vector<vector<int>> res=fourSum(nums, target);
    }

  • 相关阅读:
    NULL、nil、Nil、NSNull的区别
    URL中有中文字符,转码方法
    iOS极光推送 点击推送消息跳转页面
    iOS中响应者链条-触摸事件
    WKWebKit基础
    iOS开发之详解正则表达式
    iOS中正则表达式的三种使用方式
    VS下载Github的项目引用报错
    RabbitMQ环境搭建
    ASP.NET Core之NLog使用
  • 原文地址:https://www.cnblogs.com/hustlx/p/5251018.html
Copyright © 2011-2022 走看看