Menu
CoddyTech

Find Pivot Index

Ti viene fornito un array di numeri interi nums. Un indice pivot è un indice in cui la somma dei valori alla sua sinistra è uguale alla somma dei valori alla sua destra. Il valore dell'indice pivot non appartiene a nessuno dei due lati e un lato senza valori ha somma pari a 0.

Restituisci l'indice pivot più a sinistra oppure -1 se nessun indice è un pivot.

Funzione

pivotIndex(nums: integer-array) → integer
numsinteger-array
l'array di interi da bilanciare
Restituisceinteger
l'indice del pivot più a sinistra, oppure -1 se non ce n'è nessuno

Vincoli

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

Esempi

Input
nums = [3, 1, 5, 2, 2]
Output
2
Spiegazione
All'indice 2 il lato sinistro è 3 + 1 = 4 e il lato destro è 2 + 2 = 4. L'indice 0 e l'indice 1 non sono in equilibrio (sinistra 0 contro 10, sinistra 3 contro 9), quindi 2 è il pivot più a sinistra.

lock icon+17 test nascosti all’invio

challenge icon

Per approfondire

Riesci a trovare il pivot più a sinistra leggendo ogni valore una sola volta, senza prima sommare il totale? Quanto costa in termini di memoria?

Ripristina il codice
def pivotIndex(nums):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

2