class Solution { public: vector<int> twoSum(vector<int> &numbers, int target) { vector<int> ret; vector<pair<int, int> > nums; for (int i=0; i<numbers.size(); i++) { nums.push_back(make_pair(numbers[i], i+1)); } sort(nums.begin(), nums.end()); int i = 0, j = nums.size() - 1; int sum = 0; while(i<j) { sum = nums[i].first + nums[j].first; if (sum > target) { j--; } else if (sum < target) { i++; } else { break; } } ret.push_back(nums[i].second); ret.push_back(nums[j].second); sort(ret.begin(), ret.end()); return ret; } };
怒刷存在感
LeetCode TwoSum,布布扣,bubuko.com
原文:http://www.cnblogs.com/lailailai/p/3615042.html