题意
对 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;
}
};