【发布时间】:2019-01-27 17:54:12
【问题描述】:
我有一些字体表示为 8 个 HEX 值的数组,这些值又表示 8x8 LED 阵列中 LED 的状态。
每个 HEX 值等于位矩阵中的一行。
例如,[0x41, 0x7F, 0x7F, 0x49, 0x5D, 0x41, 0x63, 0x00] // 'E' 代表字符“E”,如下所示:
0 1 0 0 0 0 0 1
0 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1
0 1 0 0 1 0 0 1
0 1 0 1 1 1 0 1
0 1 0 0 0 0 0 1
0 1 1 0 0 0 1 1
0 0 0 0 0 0 0 0
或者,更明显:
█ █
█ █ █ █ █ █ █
█ █ █ █ █ █ █
█ █ █
█ █ █ █ █
█ █
█ █ █ █
在保持“数组中的 8 个 HEX 值”格式(作为输出)的同时顺时针/逆时针旋转数组的最佳选择(效率方面)是什么?
【问题讨论】:
-
“效率”是什么意思?你几乎不会比
O(n²)更糟(n 是矩阵的宽度/高度) -
嗯,也许“优雅”会更适合它。我对 JavaScript 的内置方法不太感兴趣,所以我希望有比一些嵌套 for 循环更好的选择。
-
你当然可以使用
reduce或Array.from之类的东西,但最终它总是归结为嵌套循环——只是语法不同。 -
这就是我所追求的,因为它会更容易通过并理解它。
标签: javascript arrays node.js matrix