Цикл по диагонали на верхней половине квадратной матрицы в Java?

Не уверен, как структурировать цикл для повторения матрицы в этом порядке. Красный - это середина по диагонали, которую следует игнорировать. Желтый — это ячейки, которые мне нужно обработать, но в порядке стрелок снизу вверх (от большей стрелки к меньшей стрелке). Является ли это возможным? Если кто-нибудь может предоставить логику итерации, я был бы очень признателен!

введите здесь описание изображения


person nicoqueijo    schedule 16.07.2020    source источник
comment
У вас есть идея?   -  person akuzminykh    schedule 16.07.2020
comment
@akuzminykh Я пробовал с вложенным циклом for, но изо всех сил пытался индексировать i и j и логику их обновления, поскольку внешний цикл прыгает по строкам для каждой итерации внутреннего цикла.   -  person nicoqueijo    schedule 16.07.2020


Ответы (1)


ниже приведена структура итерации, которая вам нужна

for(int i = 1; i < matrix.size; ++i)
    for(int j = 0; j < matrix.size; ++j)
        matrix[j][i+j] //do your stuff
person HopefullyHelpful    schedule 16.07.2020
comment
Чтобы быть точным, внутренний цикл должен иметь следующее условие: j < matrix.size - i - person Akhilesh; 19.05.2021