59.螺旋矩阵II
下面展示一些 内联代码片
。
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int> >v(n,vector<int>(n,0));
int startx = 0,starty = 0;
int mid = n/2;
int loop = n/2;
int i,j;
int ds = 1;
int count = 1;
while(loop--){
i = startx;
j = starty;
for(j=starty;j<n-ds;j++){
v[i][j] = count++;
}
for(i=startx;i<n-ds;i++){
v[i][j] = count++;
}
for(;j>=ds;j--){
v[i][j] = count++;
}
for(;i>=ds;i--){
v[i][j] = count++;
}
ds++;
startx++;
starty++;
}
if(n%2==1) v[mid][mid] = count;
return v;
}
};