Выбор ответа Junior Префиксные суммы обновлено

Индексы префиксного массива

Вопрос

Что выведет код?

const a = [1, 2, 3, 4, 5];
const pre = [0];
for (const x of a) pre.push(pre.at(-1) + x);
const i = 1, j = 3;
console.log(pre[j + 1] - pre[i]);

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 9. pre = [0, 1, 3, 6, 10, 15].

Варианты ответа

  1. 12
  2. 9правильный ответ
  3. 7
  4. 5

Разбор

pre = [0, 1, 3, 6, 10, 15]. Сумма на [1, 3] это pre[4] - pre[1] = 10 - 1 = 9 (элементы 2 + 3 + 4).

  • 12 это сумма [2, 4].
  • 7 это сумма [2, 3], ошибка сдвига на один.
  • 5 это сумма [1, 2], тоже потерян элемент.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.