freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/rosetta-code/equilibrium-index.md

1.8 KiB
Raw Blame History

id title challengeType videoUrl
5987fd532b954e0f21b5d3f6 均衡指数 5

--description--

序列的平衡指数是序列的索引,使得较低指数处的元素之和等于较高指数处的元素之和。

例如,在序列$ A $中

:::: $ A_0 = -7 $

:::: $ A_1 = 1 $

:::: $ A_2 = 5 $

:::: $ A_3 = 2 $

:::: $ A_4 = -4 $

:::: $ A_5 = 3 $

:::: $ A_6 = 0 $

3是均衡指数因为

:::: $ A_0 + A_1 + A_2 = A_4 + A_5 + A_6 $

6也是均衡指数因为

:::: $ A_0 + A_1 + A_2 + A_3 + A_4 + A_5 = 0 $

(零元素之和为零)

7不是均衡指数因为它不是序列$ A $的有效索引。

编写一个函数,给定一个序列,返回其平衡指数(如果有的话)。

假设序列可能很长。

--hints--

equilibrium是一种功能。

assert(typeof equilibrium === 'function');

equilibrium([-7, 1, 5, 2, -4, 3, 0]) [3,6] equilibrium([-7, 1, 5, 2, -4, 3, 0])应该返回[3,6]

assert.deepEqual(equilibrium(equilibriumTests[0]), ans[0]);

equilibrium([2, 4, 6])应该返回[]

assert.deepEqual(equilibrium(equilibriumTests[1]), ans[1]);

equilibrium([2, 9, 2])应该返回[1]

assert.deepEqual(equilibrium(equilibriumTests[2]), ans[2]);

equilibrium([1, -1, 1, -1, 1, -1, 1])应该返回[0,1,2,3,4,5,6]

assert.deepEqual(equilibrium(equilibriumTests[3]), ans[3]);

equilibrium([1])应该返回[0]

assert.deepEqual(equilibrium(equilibriumTests[4]), ans[4]);

equilibrium([])应该返回[]

assert.deepEqual(equilibrium(equilibriumTests[5]), ans[5]);

--solutions--