Here's the one I mentioned before. It comes as sorted array.

 1 class Solution {
 2 public:
 3     vector<int> twoSum(vector<int> &numbers, int target) {
 4         int start = 0, end = numbers.size()-1, sum = 0;
 5         vector<int> result(2);
 6         while (start < end) {
 7             sum = numbers[start] + numbers[end];
 8             if (sum == target) {
 9                 result[0] = start+1;
10                 result[1] = end+1;
11                 return result;
12             }
13             if (sum > target) end--;
14             else start++;
15         }
16     }
17 };

 

posted on 2015-03-24 17:21  keepshuatishuati  阅读(144)  评论(0编辑  收藏  举报