public int[] twoSum(int[] numbers, int target) {
if (numbers == null || numbers.length == 0) {
for (int i = 0; i < numbers.length; i++) {
int index = binarySearch(numbers, i + 1, target - numbers[i]);
public int binarySearch(int[] numbers, int start, int target) {
int end = numbers.length - 1, mid = 0;
mid = start + (end - start) / 2;
if (numbers[mid] == target) {
else if (numbers[mid] < target) {