【发布时间】:2021-02-14 12:49:47
【问题描述】:
我想用单循环反转二维数组的奇数索引元素,不使用条件语句。
输入:
123
456
789
输出:
123
654
789
这是我的解决方案。但是如果不使用 Math.floor() 和 Math.abs() 我怎么能做到这一点呢?
let arr = [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
];
let N = arr.length;
let M = arr[0].length;
for (let c = 0; c < N * M; c++) {
let i = Math.floor(c / M);
let j = c % M;
let k = (Math.abs(i-1) % 2);
let x = Math.abs(k * M - k - j);
console.log(arr[i][x]);
}
【问题讨论】:
-
您需要编写一个算法来执行此操作,而您似乎甚至没有尝试这样做。
-
我尝试了但我做不到,这就是我在这里发帖的原因
-
我没有看到你尝试任何事情的证据。
-
我添加了。再次检查。
-
这似乎可以解决您的原始问题,使用您尚未确定的语言。
标签: arrays algorithm data-structures reverse