Menu
CoddyTech

Find Pivot Index

Se te proporciona un arreglo de enteros nums. Un índice de pivote es un índice donde la suma de los valores a su izquierda es igual a la suma de los valores a su derecha. El valor del propio pivote no pertenece a ninguno de los lados, y un lado sin valores suma 0.

Devuelve el índice de pivote más a la izquierda, o -1 si ningún índice es un pivote.

Función

pivotIndex(nums: integer-array) → integer
numsinteger-array
el arreglo de enteros que se debe equilibrar
Devuelveinteger
el índice del pivote más a la izquierda, o -1 si no hay ninguno

Restricciones

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

Ejemplos

Entrada
nums = [3, 1, 5, 2, 2]
Salida
2
Explicación
En el índice 2, el lado izquierdo es 3 + 1 = 4 y el lado derecho es 2 + 2 = 4. El índice 0 y el índice 1 no están equilibrados (izquierda 0 frente a 10, izquierda 3 frente a 9), así que 2 es el pivote más a la izquierda.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes encontrar el pivote más a la izquierda leyendo cada valor una sola vez, sin sumar primero el total? ¿Cuánta memoria requiere eso?

Restablecer código
def pivotIndex(nums):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

2