Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for [old] Zigzag Array by s0me1
"use strict";
function createZigzag(rows, cols, start) {
start = start || 1;
let LTR = true;
let res = [];
for (let i = 0; i < rows; i++) {
res[i] = [];
for (let j = 0; j < cols; j++) {
if (LTR) {
res[i][j] = start++;
} else {
res[i][cols - 1 - j] = start++;
}
}
LTR = !LTR;
}
return res;
}
var assert = require('assert');
if (!global.is_checking) {
console.log('Example:')
console.log(createZigzag(3, 3, 5))
// These "asserts" are used for self-checking and not for an auto-testing
assert.deepEqual(createZigzag(3, 5), [
[1,2,3,4,5],
[10,9,8,7,6],
[11,12,13,14,15]
])
assert.deepEqual(createZigzag(5, 1), [
[1],
[2],
[3],
[4],
[5]
])
assert.deepEqual(createZigzag(3, 3, 5), [
[5, 6, 7],
[10, 9, 8],
[11, 12, 13]
])
// Edge cases
assert.deepEqual(createZigzag(0, 3), [])
assert.deepEqual(createZigzag(3, 0), [[], [], []])
assert.deepEqual(createZigzag(0, 0), [])
console.log("Coding complete? Click 'Check' to earn cool rewards!");
}
Oct. 25, 2018
Comments: