三明网站建设tudouly,ui网站开发报价,创客贴设计网站官网,阿里巴巴外贸平台中文题目描述
给你一个正整数 n #xff0c;生成一个包含 1 到 n2 所有元素#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1#xff1a; 输入#xff1a;n 3
输出#xff1a;[[1,2,3],[8,9,4],[7,6,5]]示例 2#xff1a;
输入#xff1a;n …题目描述
给你一个正整数 n 生成一个包含 1 到 n2 所有元素且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1 输入n 3
输出[[1,2,3],[8,9,4],[7,6,5]]示例 2
输入n 1
输出[[1]]提示
1 n 20
解答
class Solution {
public:vectorvectorint generateMatrix(int n) {// 生成顺序每一轮右下左上vectorvectorint res(n, vectorint(n, 0));int left 0, right n - 1, up 0, down n - 1; // 四方向边界int i 0, j 0; // 起始位置for(int i 1; i n*n;){// 右for(int j left; j right; j){res[up][j] i;}up up 1; // 上边界下移一个单位// 下for(int j up; j down; j){res[j][right] i;}right right - 1; // 右边界左移一个单位// 左for(int j right; j left; --j){res[down][j] i;}down down - 1;// 下for(int j down; j up; --j){res[j][left] i;}left left 1;}return res;}
};