您的位置:首页 > 其它

leetcode #1 two sum

2015-04-16 20:17 246 查看
不解的是为什么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;                }     };

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: