题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e?tpId=37&tags=&title=&difficulty=0&judgeStatus=0&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D37%26type%3D37
/*
思路:
1. 创建一个N行 N列的数组, 并初始化为0 vector<vector<int>> matrix(0, vector<int>(N, 0))
2. 使用变量,控制遍历矩阵的路径为蛇形路径。 这个需要重点关注。
3. 遍历矩阵,打印数据
*/
#include<iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
int num = 1;
// 二维数组
vector<vector<int>> matrix(n, vector(n, 0));
for(int i = 0; i < n; i++){
int j = i;
int k = 0;
while(j >= 0){
matrix[j][k] = num;
num++;
j--;
k++;
}
}
// 打印输出 蛇形矩阵
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(matrix[i][j] != 0){
cout << matrix[i][j] << " ";
}
}
cout << endl;
}
return 0;
}
