338. Сумма, кроме некоторых

Не решаласьЛёгкая

Напишите функцию sumExcept, которая будет суммировать все элементы массива, кроме некоторых.

Она должна принимать три аргумента и самостоятельно интерпретировать их как:

  1. массив целых чисел, элементы которого будут суммироваться
  2. неотрицательное целое число, индекс в массиве, начиная с которого нужно пропустить элементы при суммировании
  3. неотрицательное целое число, количество элементов, которых нужно пропустить при суммировании
  • Если во входном массиве находятся элементы, не являющиеся целыми числами, их нужно считать равными 0.
  • Если индекс, начиная с которого нужно пропустить элементы, не является неотрицательным целым числом, его нужно считать равным 0.
  • Если количество элементов, которые нужно пропустить при суммировании, не является неотрицательным целым числом, его нужно считать равным 0.
  • Если индекс, начиная с которого нужно пропустить элементы, больше либо равен длине массива, то получается, что пропускать нечего и нужно вернуть сумму всех элементов.
  • Если количество элементов, которые нужно пропустить при суммировании, больше чем элементов после стартового индекса, то нужно просто пропустить все элементы до конца массива.

Функция должна возвращать целое число.

Например:

sumExcept([1, 9, 8, 4], 1, 2) === 5

Нужно пропустить 2 элемента, начиная с индекса 1, т.е. в данном случае просуммировать первый и последний элементы массива: 1 + 4 === 5.

Рекомендуется обратить внимание на количество действий (алгоритмическую сложность по времени) в зависимости от количества элементов в массиве и в зависимости от количества элементов, которые нужно пропустить.

Примечание

Решение должно представлять из себя валидный JavaScript с определением функции sumExcept на верхнем уровне.

Ограничения

Ограничение времени

1 с

Ограничение памяти

64 МБ

Теги

JavaScript Node.js 12
Нужно войти, чтобы отправить решение.Войти