题解 | #蛇形矩阵#

蛇形矩阵

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;
}

全部评论
秀儿
点赞 回复 分享
发布于 2024-10-10 10:10 浙江

相关推荐

06-04 19:53
点赞 评论 收藏
分享
投递拓竹科技等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务