Код не очень хорошо отформатирован, на мой вкус:
for (int col = 0; col < dim; col++){
element = matrix[row][col];
if ((element > max)|| (element <= 0)) {
return false;
}
if (test[element -1]) {
return false;
}
test[element -1] = true;
}
Запись этого слова должна немного прояснить ситуацию.
Так что объяснять, если (test [element -1) ]) получает логическое значение в позиции 'element - 1' из тестового массива, если оно принимает значение true, мы вводим оператор if и возвращаем false. Следующая строка не выполняется, так как мы возвращаем.
Если она имеет значение false, мы не вводим оператор if, и значение test [element - 1] равно , устанавливают в значение true.
Так что это не дублирование, единственное, что разделяют экземпляры, - это то, что они получают доступ к одной и той же позиции в массиве. Первый экземпляр получает и оценивает что-то из тестового массива, а второй экземпляр устанавливает что-то в тестовом массиве.