题解 | #蛇形矩阵# 模拟矩阵构造过程

蛇形矩阵

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

维护行指针 r 和列指针 c,移动两个指针构造整个矩阵。
蛇形矩阵满足条件:

  1. 第一个格子始终是1;
  2. r0 时,下一位 r 为当前 c + 1; 下一位 c0;
  3. 如果 rc 不满足条件2,那么下一位 r 为 当前 r - 1,下一位 c 为 当前 c + 1;

#include<bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    for (; cin >> n;) {
        vector<vector<int>> grid;
        for (int r = 0; r < n; r++) {
            vector<int> row(n - r, 0);
            grid.push_back(row);
        }


        for (int r = 0, c = 0, t = 0; r < n && c < grid[r].size();)
        {
            grid[r][c] = t + 1;
            t = grid[r][c];
            if (!r) {
                r = c + 1;
                c = 0;
            }
            else {
                r--;
                c++;
            }
        }

        for (int r = 0; r < n; r++) {
            for (int c = 0; c < grid[r].size(); c++) {
                cout << grid[r][c] << ' ';
            }
            cout << endl;
        }
    }


    return 0;

}
全部评论

相关推荐

搜索部&nbsp;首先说下timeline8.18,投递8.19,约一面8.21,晚上一面call约二面8.22,上午二面下午oc周末等待(8.23,8.24)8.25,offer一年前,我还是懵懵懂懂,高考完的暑假,只会提前学学高数,未来的画像是什么?我或许无法预测。开学后,自学Python,接单,无数个客户的ddl,偷偷摸摸一个人找自习的地方,这一步步竟然为后来的我,搭建工程能力的基础。大一上,我也要感谢我的第一位老板,让我接触到了实习,师兄带着我一步步入门,看他们写的飞书文档。大一下,导师带我参与企业项目,这让我渐渐发现,应该去实践,增长见识,而非局限当下,盯着自己的小新pro。不久后,第一波投递开始,结果当然是约面极少。盯着简历上的文字和ssob,我开始思考,确实很多可以去提升。带着些许不甘心,继续沉淀,慢慢的约面也越来越多,有的时候两天7场,准备完就接着下一个日程。这一次,也许是刚好到位吧,比较match,面试答的流利,关关难关关过,成为度孝子展望未来,依然是重重挑战,果然只有收到offer的那一刻是开心的。愿在百度星海拆解的每一段代码,都能成为丈量宇宙的诗行;此志终赴星河,而今迈步重铸天阶。屏幕前的你们,在无数个向星海奔赴的日夜,一定一定,会在未来化作群星回响的征程——请永远相信此刻埋首耕耘的自己!!!
一天三顿半:???百度提前批发 offer了?不是统一和正式批排序完再发吗我靠
百度求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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