Menu
CoddyTech

Two Sum II: Sorted Input

Você recebe um array de números inteiros numbers ordenado em ordem não decrescente e um número inteiro target. Exatamente um par de posições diferentes contém dois valores cuja soma é igual a target. Retorne essas duas posições como índices baseados em 0, com o menor índice primeiro.

Função

twoSumSorted(numbers: integer-array, target: integer) → integer-array
numbersinteger-array
o array ordenado de inteiros
targetinteger
a soma que os dois valores devem alcançar
Retornainteger-array
os dois índices baseados em 0 [i, j] com i < j e numbers[i] + numbers[j] == target

Restrições

  • 2 ≤ numbers.length ≤ 104
  • -5 × 108 ≤ numbers[i] ≤ 5 × 108
  • -109 ≤ target ≤ 109
  • numbers está ordenado em ordem não decrescente.
  • Exatamente um par de índices i < j tem numbers[i] + numbers[j] == target.

Exemplos

Entrada
numbers = [-4, 1, 3, 8, 12]target = 9
Saída
[1, 3]
Explicação
1 está no índice 1 e 8 no índice 3, e 1 + 8 = 9. Nenhum outro par chega a 9: por exemplo, -4 + 12 = 8.

lock icon+13 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue resolvê-lo em O(n) tempo usando O(1) de memória extra?

Redefinir código
def twoSumSorted(numbers, target):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

[1, 3]