牛客网——蛇形数组

简介: 牛客网——蛇形数组

前言


今天给大家安排个高难度——蛇形数组。

一、蛇形数组


题目来源:

蛇形矩阵_牛客题霸_牛客网

描述


给你一个整数n,输出n∗n的蛇形矩阵。

输入描述:


输入一行,包含一个整数n

输出描述:


输出n行,每行包含n个正整数,通过空格分隔。


1<=n<=1000

image.png

不知道有没有伙伴和我一样,看到这东西人都傻了,有规律,但不多。

二、分析问题


我们不难发现,它是按照斜线,蛇形逐渐递增的,但是要找出它递增的条件还是有点难,我们先慢慢分析,我们先分析斜线,可以发现 行=列,数字大小一样,然后蛇形走位,是增减的问题了。

附上一张大佬分析图:

image.png

三、代码如下


#include <iostream>
using namespace std;
void snack(int n)
{
    int num = 1;
    int k = 0;
    int a[n][n];
    while(k < n)
    {
        for(int i = 0; i <= k; ++i)
        {
            if (k % 2 == 0)
            {
                a[k-i][i] = num++;
            }else
            {
                a[i][k-i] = num++;
            }
        }
        ++k;
    }
        int flag = 1;
    while(k < 2*n - 1)
    {
        for(int i = n-1;i>=flag;--i)
        {
            if(k%2 == 0)
            {
                a[k-i][i] = num++;
            }
            else
            {
                a[i][k-i] = num++;
            }
        }
            flag++;
            ++k;
        }
        for(int i = 0; i < n; ++i)
        {
        for(int j = 0; j< n; ++j)
        {
            cout<<a[i][j]<<" ";
        }
            cout<<endl;
        }
    }
            int main()
        {
            int n;
            cin >>n;
            snack(n);
                return 0;
         }

总结


今天和大家简单学习了一下蛇形数组,比较难,大家仔细琢磨会有所帮助的,希望可以共同进步哈~

相关文章
|
SQL 关系型数据库 数据库
【微服务系列笔记】Seata
Seata是一种开源的分布式事务解决方案,旨在解决分布式事务管理的挑战。它提供了高性能和高可靠性的分布式事务服务,支持XA、TCC、AT等多种事务模式,并提供了全局唯一的事务ID,以确保事务的一致性和隔离性。Seata还提供了分布式事务的协调、事务日志、事务恢复等功能,帮助开发人员简化分布式事务的管理和实现。
552 1
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
3900 0
|
网络协议 JavaScript 前端开发
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名2
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
2982 0
|
6月前
|
人工智能 IDE 搜索推荐
通义灵码2.5评测:从编程智能体到记忆感知的AI编码革命
通义灵码2.5版本更新带来了多项新功能,包括Lingma IDE的开箱即用体验、编程智能体模式实现端到端编码任务、MCP工具集成扩展AI助手能力以及Qwen3模型升级大幅提升代码生成准确性和效率。此外,新增长期记忆与上下文感知功能,使开发更个性化和高效。尽管存在一些局限性,如复杂业务逻辑仍需人工干预,但整体显著提升了开发效率。官方还提供了高质量视频课程助力用户学习。
1119 10
|
存储 安全 API
单元化架构,分布式系统的新王!
【10月更文挑战第9天】
826 0
单元化架构,分布式系统的新王!
|
存储 设计模式 安全
使用BlockingQueue实现生产者-消费者模式
使用BlockingQueue实现生产者-消费者模式
|
自然语言处理 数据处理 调度
《Havenask分布式索引构建服务--Build Service》
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask分布式索引构建服务——Build Service,主打稳定、快速、易管理,是在线系统提升竞争力的一大利器。
102473 3
《Havenask分布式索引构建服务--Build Service》
|
消息中间件 缓存 NoSQL
记一次蚂蚁金服四面遭虐,面试水太深,过河的渡船你造好了吗?
有道无术,术可成;有术无道,止于道;以术识道,以道御术
|
程序员 Linux 调度
用ucontext库创建简单的协程
用ucontext库创建简单的协程
292 0
|
Java C++
环形矩阵(螺旋矩阵)&&蛇形矩阵
环形矩阵(螺旋矩阵)&&蛇形矩阵
288 0