Занимательные задачи JavaScript. Часть 50
Дан массив чисел:
let arr = [5, 10, 15, 20, 25];
Найдите все возможные способы разбить этот массив на две группы так, чтобы суммы чисел в группах были равны.
Дан многомерный массив:
let arr = [1, [2, [3, [4, [5]]]]];
Выведите все элементы этого массива в порядке возрастания их глубины вложенности:
1, 2, 3, 4, 5
Дан многомерный массив:
let arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
Пройдите по этому массиву по спирали (начиная с верхнего левого угла по часовой стрелке) и выведите все элементы в порядке обхода:
[1, 2, 3, 6, 9, 8, 7, 4, 5]
Дан массив чисел:
let arr = [1, 2, 3, 4, 5, 6, 7];
Найдите все возможные
способы расставить между
этими числами знаки
'+' и '-' так, чтобы
получилось выражение,
равное 0.
Дан многомерный объект:
let obj = {
'a': 1,
'b': {'c': 2, 'd': {'e': 3}},
'f': {'g': {'h': {'i': 4}}},
};
Найдите максимальную глубину вложенности этого объекта.
Дан массив чисел:
let arr = [2, 3, 5, 7, 11, 13];
Найдите все возможные подмассивы этого массива, сумма элементов которых является простым числом.
Дан многомерный массив:
let arr = [[1, 2], [3, [4, 5]], [6, [7, [8, 9]]]];
Выведите все числа в порядке обхода сначала в глубину (слева направо).
Дан многомерный массив:
let arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
Транспонируйте этот массив (поменяйте строки и столбцы местами):
[
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
]
Дан массив чисел:
let arr = [1, 2, 3, 4, 5, 6];
Найдите все возможные способы разбить этот массив на тройки так, чтобы суммы чисел в каждой тройке были равны.
Дан многомерный объект:
let obj = {
'a': {'b': {'c': 1}},
'd': {'e': 2, 'f': {'g': 3}},
'h': 4,
};
Найдите все ключи, которые ведут к значениям-числам, и выведите пути к ним в виде строк, разделенных точками.