Este problema es similar a Two Sum.
Para resolver este problema, podemos usar dos punteros para escanear la matriz desde ambos lados. Consulte la solución Java a continuación:
public int[] twoSum(int[] numbers, int target) { if (numbers == null || numbers.length == 0) return null; int i = 0; int j = numbers.length - 1; while (i < j) { int x = numbers[i] + numbers[j]; if (x < target) { ++i; } else if (x > target) { j--; } else { return new int[] { i + 1, j + 1 }; } } return null; } |