题解 | #蛇形矩阵#

蛇形矩阵

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;
}
华为题库题解 文章被收录于专栏

牛客华为题库的题解

全部评论

相关推荐

脑袋锈住了:你这算啥,哥们中科院中强所硕士,本科211,叫我去干分拣,时薪20
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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