题解 | #蛇形矩阵#

蛇形矩阵

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

  1. 先算出第一行的值,紧紧抓住和当前索引的关系,且需要二维数组来作为一个桥梁。
  2. 从第二行开始,还是每行每行的算,只不过除了内部的 j+1 还有外部的 i-1
#include<bits/stdc++.h>

using namespace std;

int main(){

    int N;

    while(cin>>N){
        vector<vector<int>> res(N, vector<int>(N,0));

        int a = 0;//首先打印第一行
        for(int i = 0; i< N;i++){
            cout<< a + i + 1<<" ";
            a = a + i + 1;
            res[0][i] = a;
        }
        cout<<endl;
        //在打印下面的几行
        for(int i = 1; i< N; i++){
            for(int j = 0; j< N-i;j++){
                cout<< res[i-1][j] + j + 1 + i - 1 <<" ";
                res[i][j] = res[i-1][j] + j + 1 + i - 1;
            }
            cout<<endl;
        }

    }

    return 0;

}
算法解析 文章被收录于专栏

这里主要是算法岗的自我思路总结

全部评论

相关推荐

11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
昨天 14:22
门头沟学院 Java
大厂 测开 24*16离家近的事业编(大概只有大厂的1/4) 硕士
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务