gpt4 book ai didi

java - 循环遍历二维数组中的主对角线 (/) 及其下方的单元格

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:54 24 4
gpt4 key购买 nike

我试图像这样对角地循环( boolean )二维数组:/(不像这个\,因为我已经知道如何做到这一点)以及下面的单元格。该方法的目标是遍历对角线上方和下方的所有单元格(按行优先顺序)并将其设置为 true。因此,它将从左上角开始,并从那里向下移动,并且不必接触右下角的方 block 。

我有让它沿着对角线移动的代码,这只是我遇到困难的下面的部分。这是我的对角线代码:

    for (int r = 0; r < min; r++)
{
colorArray[r][min-r-1+difference] = true;
gui.update(colorArray);
}

这是我的一些对角线及其下面的单元格的代码。:

for (int r = 0; r < min; r++)
{
colorArray[r][min-r-1+difference] = true;
for (int i = r; i < rowLength; i++)
{
colorArray[i][r] = true;
gui.update(colorArray);
}
}

它输出: /image/kEaiN.jpg

我的输出应该看起来更像这样: /image/WZubI.jpg

这是我在这里发表的第一篇文章,因此如果我的问题需要更多澄清和编辑,请告诉我。

最佳答案

r 迭代行索引。i 迭代列索引。

随着行索引上升,列索引应该下降。因为,当你往下走时,你想要画出越来越宽的部分。与r + 1一样宽。

我认为如果列索引从 0 到 r,并且从右向左绘制单元格,逻辑会更容易理解。

int min = Math.min(colorArray.length, colorArray[0].length);

for (int r = 0; r < min; r++) {
char[] row = colorArray[r + Math.max(0, colorArray.length - min)];
for (int i = 0; i <= r; i++) {
row[row.length - 1 - i] = true;
gui.update(colorArray);
}
}

关于java - 循环遍历二维数组中的主对角线 (/) 及其下方的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47736599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com