题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

#include <bits/stdc++.h>

using namespace std;

void process(int N){
    /*if(N == 0){
        cout << "" << endl;
    }*/
    //第一行最后一个元素 = (N)*(N + 1) / 2;
    //第一行第j列元素 = (j) * (j + 1) / 2;
    //第i行第j列元素 = 第i - 1行j + 1列 - 1;
    //最后一行只有一个元素 = 第一行最后一个元素 - N - 1;
    int num = 1;
    vector<vector<int>> matrix(N, vector<int>(N, 0));
    for(int i = 0; i < N; i++){
        for(int j = 0; j <= i; j++){   
            matrix[i - j][j] = num++; //
        }
    }
    
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N - i; j++){ //
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
}

int main(){
    int N = 0;
    cin >> N;
    
    process(N);
    
    return 0;
}
华为题库题解 文章被收录于专栏

牛客华为题库的题解

全部评论

相关推荐

05-24 20:52
东南大学 C++
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
在看数据的傻狍子很忙碌:学生思维好重,而心很急,自己想想真的能直接做有难度的东西吗?任何错误都是需要人担责的,你实习生可以跑路,你的同事领导呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务