Добрый день.
Есть одномерный массив. Элементы массива выводятся по несколько в строку, до заданного предела, затем начинается новая (аналогично array_chunk($array, 3) - т.е. создается матрица).
Нужно в этом цикле создать
уже повернутую на 90 градусов по часовой стрелке матрицу,
без вложенных циклов и прочих повышающих сложность алгоритма штук. Схема, что хочу сделать: вариант 2 - то, что нужно получить за O(n) именно из исходного массива.
Мой
работающий вариант, на js. Что хочется сделать в итоге:
var array = ['1','2','3','4','5','6','7','8','9','10','11','12'];
for(var elems = 0; elems < array.length; elems++) {
var index = ?; // расчет индекса, как будто он находится в повернутой матрице (вариант 2). Т.е. 2 = 6, 3 = 9 и т.п.
}
Пробовал самую разную логику вычисления, не получилось без вложенных циклов.
Буду рад любым советам по теме (в т.ч. и общему описанию возможного алгоритма), спасибо.