leetcode #1 two sum

来源:互联网 发布:数据库实时增量同步 编辑:程序博客网 时间:2024/03/29 22:14
不解的是为什么sort不能使用非静态类内成员函数- -
#include<iostream>#include<vector>#include<iterator>#include<algorithm>using namespace std;class Solution {public:static bool cmp(pair<int,int> &p1,pair<int,int> &p2){return p1.first<p2.first;}    vector<int> twoSum(vector<int> &numbers, int target) {vector<pair<int,int>> m;vector<int> result;         for(decltype(numbers.size()) i=0;i<numbers.size();++i)m.push_back(make_pair(numbers[i],i));std::sort(m.begin(),m.end(),cmp);                  auto i=m.begin();        auto j=m.end();--j;        while(i!=j){            if(i->first+j->first > target)                --j;            else if(i->first+j->first < target)                ++i;            else                break;            }if(i->second < j->second){result.push_back(i->second+1);result.push_back(j->second+1);}else{result.push_back(j->second+1);result.push_back(i->second+1);}        return  result;                }     };

0 0