zoukankan      html  css  js  c++  java
  • 3sum

    #include <string>
    #include <stack>
    #include <vector>
    #include <map>
    #include <algorithm>
    using namespace std;
    vector<vector<int>> threeSum(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        int len = nums.size();
        vector<vector<int>> res;
        for (int i = 0; i < len; i++) {
            int sum = 0 - nums[i];
            int low = i + 1;
            int high = len - 1;
            while (low < high) {
                if (sum > nums[low] + nums[high]) low++;
                else if (sum < nums[low] + nums[high]) high--;
                else {
                    vector<int> temp = { nums[i],nums[low],nums[high] };
                    res.push_back(temp);
                    while (low < high &&nums[low] == temp[1]) low++;
                    while (low < high && nums[high] == temp[2]) high--;
                }
            }
            while ((i + 1 < len) && nums[i] == nums[i + 1]) i++;
        }
        return res;
    }

    int main() {
        vector<int> nums = {-1,-1,0,1 };
        vector<vector<int>> re=threeSum(nums);
    }

  • 相关阅读:
    Linux 部署 .net
    转载:什么才是真正的 RESTful 架构
    Web Api资料
    nginx 配置
    Nginx 资料
    session、cookie资料
    WCF 资料
    投资
    解决在控制层springmvc框架发出的400状态的错误
    解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)
  • 原文地址:https://www.cnblogs.com/hustlx/p/5249621.html
Copyright © 2011-2022 走看看