【发布时间】:2015-10-22 22:57:47
【问题描述】:
我正在尝试为算法做这个作业,他们要求我填充一个二维的 int 数组,如下所示:
4 3 2 3 4
3 2 1 2 3
2 1 0 1 2
3 2 1 2 3
4 3 2 3 4
我在java中试过这个:
int[][] array = new int[5][5];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
array[i][j] = Math.abs(i - j);
}
}
但它给了我这样的东西:
0 1 2 3 4
1 0 1 2 3
2 1 0 1 3
3 2 1 0 1
4 3 2 1 0
这不是一回事,但它是我发现的最接近的。我用java编写了代码,但它可以用任何其他语言......重要的是我认为的“公式”。所以如果你能帮我解决这个问题那就太好了,我试图在网上寻找代码但我没有找到任何东西......谢谢。
【问题讨论】:
-
首先,您必须能够手动计算数字,然后才能使用计算机程序进行计算。所以每个单元格中的数字是曼哈顿到中心的距离。查看如何计算曼哈顿距离,然后手动计算以确保得到与示例相同的结果,然后将计算结果转换为代码。
标签: java arrays algorithm for-loop multidimensional-array