classSolution { public: vector<int> twoSum(vector<int>& numbers, int target){ int n = numbers.size(); int i = 0, j = 0; bool flag = false; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (numbers[i] + numbers[j] == target) { flag = true; break; } } if (flag) break; } return {i + 1, j + 1}; } };
classSolution { public: vector<int> twoSum(vector<int>& numbers, int target){ int n = numbers.size(); int i, j; for (i = 0; i < n - 1; i++) { int l = i + 1, r = n - 1; bool flag = false; while (l <= r) { int mid = (l + r) / 2; if (numbers[i] + numbers[mid] == target) { j = mid; flag = true; break; } elseif (numbers[i] + numbers[mid] < target) l++; else r--; } if (flag) break; }