- Описание
- Отправленные решения
338. Сумма, кроме некоторых
Напишите функцию sumExcept
, которая будет суммировать все элементы массива, кроме некоторых.
Она должна принимать три аргумента и самостоятельно интерпретировать их как:
- массив целых чисел, элементы которого будут суммироваться
- неотрицательное целое число, индекс в массиве, начиная с которого нужно пропустить элементы при суммировании
- неотрицательное целое число, количество элементов, которых нужно пропустить при суммировании
- Если во входном массиве находятся элементы, не являющиеся целыми числами, их нужно считать равными
0
. - Если индекс, начиная с которого нужно пропустить элементы,
не является неотрицательным целым числом, его нужно считать равным
0
. - Если количество элементов, которые нужно пропустить при суммировании,
не является неотрицательным целым числом, его нужно считать равным
0
. - Если индекс, начиная с которого нужно пропустить элементы, больше либо равен длине массива, то получается, что пропускать нечего и нужно вернуть сумму всех элементов.
- Если количество элементов, которые нужно пропустить при суммировании, больше чем элементов после стартового индекса, то нужно просто пропустить все элементы до конца массива.
Функция должна возвращать целое число.
Например:
sumExcept([1, 9, 8, 4], 1, 2) === 5
Нужно пропустить 2
элемента, начиная с индекса 1
,
т.е. в данном случае просуммировать первый и последний элементы массива: 1 + 4 === 5
.
Рекомендуется обратить внимание на количество действий (алгоритмическую сложность по времени) в зависимости от количества элементов в массиве и в зависимости от количества элементов, которые нужно пропустить.
Примечание
Решение должно представлять из себя валидный JavaScript с определением функции sumExcept
на верхнем уровне.
Ограничения
Ограничение времени
1 с
Ограничение памяти
64 МБ