Menu
CoddyTech

Find Pivot Index

Você recebe um array de números inteiros nums. Um índice pivô é um índice em que a soma dos valores à sua esquerda é igual à soma dos valores à sua direita. O valor no próprio pivô não pertence a nenhum dos lados, e um lado sem valores tem soma igual a 0.

Retorne o índice pivô mais à esquerda ou -1 se nenhum índice for um pivô.

Função

pivotIndex(nums: integer-array) → integer
numsinteger-array
o array de inteiros a ser balanceado
Retornainteger
o índice do pivô mais à esquerda, ou -1 quando não houver nenhum

Restrições

  • 1 ≤ nums.length ≤ 104
  • -1000 ≤ nums[i] ≤ 1000

Exemplos

Entrada
nums = [3, 1, 5, 2, 2]
Saída
2
Explicação
No índice 2, o lado esquerdo é 3 + 1 = 4 e o lado direito é 2 + 2 = 4. Os índices 0 e 1 não estão em equilíbrio (lado esquerdo 0 contra 10, lado esquerdo 3 contra 9), então 2 é o pivô mais à esquerda.

lock icon+17 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue encontrar o pivô mais à esquerda lendo cada valor apenas uma vez, sem somar o total primeiro? Quanto isso custa em memória?

Redefinir código
def pivotIndex(nums):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

nums = [3, 1, 5, 2, 2]

Esperado

2