题目
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1:
输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]
示例 2:
输入:n = 1输出:[[1]]
提示:
c++代码:
class Solution {public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> output(n, vector<int>(n, 0));int end = n*n;int num = 1;int a = 0, b = n-1;while (num<=end) {int i=a, j=a;if(a==b) {output[a][b] = num;num++;}while (j<b) {output[i][j] = num;num++;j++;}while (i<b) {output[i][j] = num;num++;i++;}while (j>a) {output[i][j] = num;num++;j--;}while (i>a) {output[i][j] = num;num++;i--;}a++;b--;}return output;}};
