while (start * 2 < n) { generateMatrixHelper(matrix, n, start); start++; }
return matrix; }
privatevoid(int[][] matrix, int n, int start){ int endX = n - start - 1; int endY = n - start - 1;
for (int i = start; i <= endX; i++) matrix[start][i] = ++number; if (endY > start) { for (int i = start + 1; i <= endY; i++) matrix[i][endX] = ++number; }
if (endX > start && endY > start) { for (int i = endX - 1; i >= start; i--) matrix[endY][i] = ++number; }
if (endX > start && endY > start + 1) { for (int i = endY - 1; i > start; i--) matrix[i][start] = ++number; } }
近期评论