我们需要编写一个接受数字n的JavaScript函数。我们的函数应该构造并返回一个N * N阶的数组(2-D数组),其中1占据从[0,0]开始的所有螺旋位置,而所有0占据非螺旋位置。
因此,对于n = 5,输出将类似于-
[ [ 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 1 ], [ 1, 1, 1, 0, 1 ], [ 1, 0, 0, 0, 1 ], [ 1, 1, 1, 1, 1 ] ]
以下是代码-
const num = 5; const spiralize = (num = 1) => { const arr = []; let x, y; for (x = 0; x < num; x++) { arr[x] = Array.from({ length: num, }).fill(0); } let left = 0; let right = num; let top = 0; let bottom = num; x = left; y = top; let h = Math.floor(num / 2); while (left < right && top < bottom) { while (y < right) { arr[x][y] = 1; y++; } y--; x++; top += 2; if (top >= bottom) break; while (x < bottom) { arr[x][y] = 1; x++; } x--; y--; right -= 2; if (left >= right) break; while (y >= left) { arr[x][y] = 1; y--; } y++; x--; bottom -= 2; if (top >= bottom) break; while (x >= top) { arr[x][y] = 1; x--; } x++; y++; left += 2; } if (num % 2 == 0) arr[h][h] = 1; return arr; }; console.log(spiralize(num));输出结果
以下是控制台输出-
[ [ 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 1 ], [ 1, 1, 1, 0, 1 ], [ 1, 0, 0, 0, 1 ], [ 1, 1, 1, 1, 1 ] ]
问题内容: 我想创建一个特定大小的文件(例如1GiB)。内容并不重要,因为我会在其中填充内容。 我正在做的是: 但这需要太长时间才能完成。我花了大约1分钟的时间。有什么可以改善的呢? 问题答案: 警告 此解决方案将提供您可能无法预期的结果。参见UPD … 1创建新文件。 2寻求1个字节的大小。 3写1个字节。 4利润:) UPD: 查找和截断都在我的系统(Linux + ReiserFS)上创建稀
问题内容: 我想创建一个可以容纳10个元素的空列表(或最好的方法)。 之后,我想在该列表中分配值,例如,应该显示0到9: 但是,当我运行此代码时,它会产生错误,或者在其他情况下,它只会显示(空)。 有人可以解释为什么吗? 问题答案: 你不能分配给类似的列表,除非该列表已至少已使用元素初始化。你需要使用append将元素添加到列表的末尾。。 (如果使用字典,则可以使用分配符号)。 创建一个空列表:
本文向大家介绍在JavaScript中使用二进制数交换字符串大小写,包括了在JavaScript中使用二进制数交换字符串大小写的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个包含字符串str和数字n的JavaScript函数。我们的函数应使用n更改给定的字符串str。 n中的每一位将指定是否为s中的每个字母字符交换大小写- 如果该位为1,则交换大小写;否则为0。如果其为0,则保持原
注意,本节可能会使你昏昏欲睡。本节,通过连接一系列短线,我们将绘制一条螺旋线路径。 图1-10 绘制螺旋线 绘制步骤 按照以下步骤绘制一条有圆心的螺旋线: 1. 定义2D画布并初始化螺旋参数: window.onload = function(){ var canvas = document.getElementById("myCanvas"); var context = can
我有一个的数组,它的值不同,称为。我想创建一个二维数组(称为),其中第一个维度的大小是数组的长度,第二个维度的大小是该索引处的整数值。我希望下面的代码能更容易理解我的问题。 我的实际代码,sizes数组更大,所以如果可能的话,我希望避免大量重复的代码行。 我是的新手,但我读过关于的文章。我想我可以创建一个函数来返回这个数组,但是我还没有让它工作。 我还认为我可以循环数组,并为每个创建一个具有该大小
给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2: 输入: [ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12] ] 输出: [1,