您的位置:首页 > 其它

leetcode - Two Sum

2013-10-14 10:52 375 查看
class Solution {
public:
vector<int> twoSum(vector<int> &numbers, int target) {
// Note: The Solution object is instantiated only once and is reused by each test case.
int size = numbers.size();
vector<int> cp;
int i;
for (i=0; i<size; i++)
cp.push_back(numbers[i]);
sort(cp.begin(), cp.end());
int j=size-1;
i=0;
while (i<j){
int s = cp[i] + cp[j];
if (s>target)
j--;
else if (s<target)
i++;
else
break;
}
int a = cp[i], b=cp[j];
int index1=-1, index2=-1;
int remain=0;
for (i=0; i<size; i++){
if (index1==-1){
if (numbers[i]==a){
remain=b;
index1=i+1;
}
else if (numbers[i]==b){
remain =a ;
index1=i+1;
}
}
else if (numbers[i]==remain){
index2=i+1;
break;
}
}
vector<int> rlt;
rlt.push_back(index1);
rlt.push_back(index2);
return rlt;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: