Menu
CoddyTech

Find Pivot Index

Vous recevez un tableau d’entiers nums. Un indice pivot est un indice où la somme des valeurs à sa gauche est égale à la somme des valeurs à sa droite. La valeur à l’indice pivot lui-même n’appartient à aucun des deux côtés, et la somme d’un côté sans valeur est égale à 0.

Renvoyez l’indice pivot le plus à gauche, ou -1 si aucun indice n’est un pivot.

Fonction

pivotIndex(nums: integer-array) → integer
numsinteger-array
le tableau d’entiers à équilibrer
Renvoieinteger
l’indice du pivot le plus à gauche, ou -1 s’il n’y en a aucun

Contraintes

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

Exemples

Entrée
nums = [3, 1, 5, 2, 2]
Sortie
2
Explication
À l’indice 2, le côté gauche vaut 3 + 1 = 4 et le côté droit vaut 2 + 2 = 4. Les indices 0 et 1 ne sont pas équilibrés (gauche 0 contre 10, gauche 3 contre 9), donc 2 est le pivot le plus à gauche.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu trouver le pivot le plus à gauche en ne lisant chaque valeur qu’une seule fois, sans calculer d’abord la somme totale ? Quel est le coût en mémoire ?

Réinitialiser le code
def pivotIndex(nums):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

2