做网站数据库多少钱,小程序商城哪家好些,企业咨询服务有限公司,西安手机网站建设公司59. 螺旋矩阵 II
题目描述#xff1a; 给你一个正整数 n #xff0c;生成一个包含 1 到 n2 所有元素#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
考察重点#xff1a;way数组记录走的方向#xff0c;结合DFS实现矩阵螺旋遍历。
int way[][] …59. 螺旋矩阵 II
题目描述 给你一个正整数 n 生成一个包含 1 到 n2 所有元素且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
考察重点way数组记录走的方向结合DFS实现矩阵螺旋遍历。
int way[][] new int[][]{{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
int [][]res;
public int[][] dfs(int m, int num, int x, int y){if(m 4)m 0;if(res[xway[m][0]][yway[m][1]] ! 0)return res;while(true){x x way[m][0];y y way[m][1];if((x 0 || x res.length || y 0 || y res.length) || res[x][y] ! 0) {x x - way[m][0];y y - way[m][1];break;}res[x][y] num;}return dfs(m 1, num, x, y);
}
public int[][] generateMatrix(int n) {res new int[n][n];res[0][0] 1;if(n 1)return res;return dfs(0, 2, 0, 0);
}