InstruçÔes

Equilibrium index

Um Ă­ndice de equilĂ­brio de uma sequĂȘncia Ă© um Ă­ndice na sequĂȘncia, tal que a soma dos elementos nos Ă­ndices mais baixos Ă© igual Ă  soma dos elementos nos Ă­ndices mais altos. Por exemplo, em uma sequĂȘncia $A$: <ul style='list-style: none;'> <li><big>$A_0 = -7$</big></li> <li><big>$A_1 = 1$</big></li> <li><big>$A_2 = 5$</big></li> <li><big>$A_3 = 2$</big></li> <li><big>$A_4 = -4$</big></li> <li><big>$A_5 = 3$</big></li> <li><big>$A_6 = 0$</big></li> </ul> 3 Ă© um Ă­ndice de equilĂ­brio, porque: <ul style='list-style: none;'> <li><big>$A_0 + A_1 + A_2 = A_4 + A_5 + A_6$</big></li> </ul> 6 tambĂ©m Ă© um Ă­ndice de equilĂ­brio, porque: <ul style='list-style: none;'> <li><big>$A_0 + A_1 + A_2 + A_3 + A_4 + A_5 = 0$</big></li> </ul> (a soma de zero elementos Ă© zero) 7 nĂŁo Ă© um Ă­ndice de equilĂ­brio porque nĂŁo Ă© um Ă­ndice vĂĄlido da sequĂȘncia $A$.

O que fazer:

Escreva uma função que, dada uma sequĂȘncia, retorne seus Ă­ndices de equilĂ­brio (se houver). Suponha que a sequĂȘncia seja muito longa.

Critérios de Aceitação:

Testes:

  • `equilibrium` deve ser uma função.
  • `equilibrium([-7, 1, 5, 2, -4, 3, 0])` should return `[3,6]`.
  • `equilibrium([2, 4, 6])` should return `[]`.
  • `equilibrium([2, 9, 2])` should return `[1]`.
  • `equilibrium([1, -1, 1, -1, 1, -1, 1])` should return `[0,1,2,3,4,5,6]`.
  • `equilibrium([1])` should return `[0]`.
  • `equilibrium([])` should return `[]`.

Console