题解 | #蛇形矩阵#
蛇形矩阵
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; }