在Java中对角循环方阵的上半部分?

问题描述 投票:0回答:1

不确定如何构建循环以按此顺序迭代矩阵。红色是对角线的中间,应该被忽略。黄色是我需要处理的单元格,但按照从下到上的箭头顺序(较大的箭头到较小的箭头)。是否可以?如果有人可以提供迭代逻辑,我将非常感激!

java for-loop matrix multidimensional-array diagonal
1个回答
3
投票

以下是您需要的迭代结构

for(int i = 1; i < matrix.size; ++i)
    for(int j = 0; j < matrix.size - i; ++j)
        matrix[j][i+j] //do your stuff

如果您需要环绕对角线:

for(int i = 1; i < matrix.size; ++i)
    for(int j = 0; j < matrix.size; ++j)
        matrix[j][(i+j)%matrix.size] //do your stuff
© www.soinside.com 2019 - 2024. All rights reserved.