Таск на NodeJS:
Кажется я нашел решение, но на C++. Оно выглядит следующим образом
int main()
{
int const n=5;
int A[n][n];
int i=1,j,k,p=n/2;
for(k=1;k<=p;k++)
{
for (j=k-1;j<n-k+1;j++) A[k-1][j]=i++;
for (j=k;j<n-k+1;j++) A[j][n-k]=i++;
for (j=n-k-1;j>=k-1;--j) A[n-k][j]=i++;
for (j=n-k-1;j>=k;j--) A[j][k-1]=i++;
}
if (n%2==1) A[p][p]=n*n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf(" %4d ",A[i][j]);
if(j==n-1) printf("\n");
}
}
Также мне предоставили шаблон для решения этой задачи.
function fillSpiralMatrix(n) {
const result = [[]];
// Ваш код
return result;
}
export default fillSpiralMatrix;
Вопрос заключается в том что я не до конца понимаю зачем в начале функции объявлять константу, которая по сути должна принимать в себя спиральную матрицу и в конечном итоге должна возвращять .
Или эту константу стоит вовсе удалить и создать новый массив?
Видимо, предполагается, что result
должен постепенно заполняться в ходе работы функции. Хотя лично мне кажется, что проще сразу создать массив нужного размера.
В порядке извращения/развлечения родился следующий код:
function fillSpiralMatrix(n) {
let result = Array.from({length : n}, () => Array.from({length : n}, () => 0));
const dir = (function * () {
let dx = -1;
let dy = 1;
let dir = {x : 1, y : 0};
while (true) {
yield dir;
dir.x += dx;
dir.y += dy;
dx = dir.x ? -dx : dx;
dy = dir.y ? -dy : dy;
}
})();
let num = 1;
let i = 0, j = 0;
let delta = dir.next().value;
while (num <= n*n) {
result[i][j] = num++;
let newI = (n + i + delta.y) % n;
let newJ = (n + j + delta.x) % n;
if (result[newI][newJ] > 0) delta = dir.next().value;
i += delta.y;
j += delta.x;
}
return result;
}
console.log(JSON.stringify(fillSpiralMatrix(5)).replace(/\],\[/g, ']\n['));
//export default fillSpiralMatrix;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Проверяю на валидность страничку регистрацииВот JSP:
Интересует такой вопрос, возможно ли реализовать mitm (man in the middle) через ssl/tls? Какая разница или что именно нужно учитывать реализовывая подобное?...
Идет такой код, для вывода сообщения включить звук или выключить:
Имеется код, который получает json при помощи XMLHttpRequestПолученные данные сохраняются в переменную loadedData при вызове соответствующего слушателя