Мне нужно пройти по матрице n x n
в java (поэтому индексы 0, ..., n-1), чтобы присвоить значения отдельным элементам. Я должен начать с нижнего правого и прибыть в верхний левый. Особенность в том, что мне не нужно учитывать элемент matrix[n-1][n-1]
, который был инициализирован ранее. Смежные значения зависят друг от друга для инициализации, и он должен быть инициализирован первым.
Одним из способов может быть вставка if
в цикл for
for (i = n-1; i >= 0; i--)
for (j = n-1; j >= 0; j--)
if (i == n - 1 && j == n - 1)
//initialize particular value
else
//initialize others
но мне это кажется немного неэффективным.
Другим способом может быть инициализация значения matrix[n-1][n-1]
вне цикла, затем выполнение 3 for
циклов (один для нижней строки, один для самого правого столбца, один для других элементов). Но это выглядит немного не элегантно.
Таким образом, я ищу, если существует, решение, которое включает только два аннулирования for
, и без элемента управления в каждом цикле (как в первом примере).