Skip to content

Instantly share code, notes, and snippets.

@MuhammadHasham23
Created May 25, 2018 20:48
Show Gist options
  • Save MuhammadHasham23/e1b803fa0a1ffb17320e97257b467204 to your computer and use it in GitHub Desktop.
Save MuhammadHasham23/e1b803fa0a1ffb17320e97257b467204 to your computer and use it in GitHub Desktop.
function spiralMatrix(total) {
var noOfRows = 0;
var noOfCols = 0;
var numbers = [];
for (let i = 0; i < Math.pow(total, 2); i++) {
numbers[i] = i + 1;
}
var numberIter = 0;
var newarr = [];
for (let i = 0; i < total; i++) {
newarr.push([]);
}
for (let i = 0; i < newarr.length; i++) {
for (let j = 0; j < newarr.length; j++) {
newarr[i][j] = 0;
}
}
for (let x = 0; x <= Math.pow(total, 2); x++) {
for (let col = 0; col < total; col++) {
if (newarr[noOfRows][col] == 0) {
newarr[noOfRows][col] = numbers[numberIter];
noOfCols++;
numberIter++;
}
}
for (let row = 0; row < total; row++) {
if (newarr[row][noOfCols - 1] == 0) {
newarr[row][noOfCols - 1] = numbers[numberIter];
noOfRows++;
numberIter++;
}
}
for (let col = noOfCols; col >= 0; col--) {
if (newarr[noOfRows][col] == 0) {
newarr[noOfRows][col] = numbers[numberIter];
noOfCols--;
numberIter++;
}
}
for (let row = noOfRows; row >= 0; row--) {
if (newarr[row][noOfCols - 1] == 0) {
newarr[row][noOfCols - 1] = numbers[numberIter];
noOfRows--;
numberIter++;
}
}
}
return newarr;
}
//spiralMatrix(4);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment