题意
对
n∗n
的矩阵进行蛇形填数
思路
蛇形填数,螺旋模拟即可
代码
class Solution {
public:
vector<vector<int>> generateMatrix(
int n) {
vector<vector<int> >ans(n,
vector<int>(n));
int dis = n;
int num =
1, k =
0;
int i, j;
while(dis >
0){
i = k, j = k;
if(i == j){
ans[i][j] = num;
}
while(j < n -
1 - k){
ans[i][j] = num++;
j++;
}
while(i < n -
1 - k){
ans[i][j] = num++;
i++;
}
while(j > k){
ans[i][j] = num++;
j--;
}
while(i > k){
ans[i][j] = num++;
i--;
}
k++;
dis -=
2;
}
return ans;
}
};