Menu
CoddyTech

Two Sum II: Sorted Input

Recibes un arreglo de números enteros numbers ordenado en orden no decreciente y un entero target. Exactamente un par de posiciones distintas contiene dos valores que suman target. Devuelve esas dos posiciones como índices basados en 0, primero el índice menor.

Función

twoSumSorted(numbers: integer-array, target: integer) → integer-array
numbersinteger-array
el arreglo ordenado de números enteros
targetinteger
la suma que deben alcanzar los dos valores
Devuelveinteger-array
los dos índices basados en 0 [i, j] con i < j y numbers[i] + numbers[j] == target

Restricciones

  • 2 ≤ numbers.length ≤ 104
  • -5 × 108 ≤ numbers[i] ≤ 5 × 108
  • -109 ≤ target ≤ 109
  • numbers está ordenado en orden no decreciente.
  • Exactamente un par de índices i < j cumple numbers[i] + numbers[j] == target.

Ejemplos

Entrada
numbers = [-4, 1, 3, 8, 12]target = 9
Salida
[1, 3]
Explicación
1 está en el índice 1 y 8 en el índice 3, y 1 + 8 = 9. Ningún otro par suma 9: por ejemplo, -4 + 12 = 8.

lock icon+13 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes resolverlo en tiempo O(n) con memoria adicional O(1)?

Restablecer código
def twoSumSorted(numbers, target):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

numbers = [-4, 1, 3, 8, 12]
target = 9

Esperado

[1, 3]