牛客网——蛇形数组

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

前言


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

一、蛇形数组


题目来源:

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

描述


给你一个整数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还提供了分布式事务的协调、事务日志、事务恢复等功能,帮助开发人员简化分布式事务的管理和实现。
413 1
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
3624 0
|
Prometheus Kubernetes 监控
Kubernetes 性能调优与成本控制
【8月更文第29天】随着 Kubernetes 在企业中的广泛应用,如何有效地管理和优化 Kubernetes 集群的性能和成本成为了一个重要的课题。本篇文章将介绍 Kubernetes 性能监控的基础知识,以及一些实用的成本优化技巧,包括资源配额的设置、Pod 密度的提高和集群规模的合理调整。
764 1
|
12月前
|
存储 安全 API
单元化架构,分布式系统的新王!
【10月更文挑战第9天】
652 0
单元化架构,分布式系统的新王!
|
消息中间件 缓存 NoSQL
记一次蚂蚁金服四面遭虐,面试水太深,过河的渡船你造好了吗?
有道无术,术可成;有术无道,止于道;以术识道,以道御术
|
存储 消息中间件 缓存
四万字爆肝总结java多线程所有知识点(史上最全总结)
全文从多线程的实现方式、线程的状态、线程的方法、线程的同步、线程的通讯、等角度对多线程的基础知识进行总结
931 1
四万字爆肝总结java多线程所有知识点(史上最全总结)
|
存储 资源调度 安全
ATC'22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时 | 龙蜥技术
RunD可以在88毫秒内启动,并且在104核384GB内存的单节点上每秒启动超过200个安全容器。
ATC'22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时 | 龙蜥技术
|
Java C++
环形矩阵(螺旋矩阵)&&蛇形矩阵
环形矩阵(螺旋矩阵)&&蛇形矩阵
239 0
|
监控 数据可视化 前端开发
我为大家带来了10张“科技感满满”的可视化数据大屏⚡,收藏等于学会~(一)
我为大家带来了10张“科技感满满”的可视化数据大屏⚡,收藏等于学会~(一)
1062 0
|
存储 Shell 网络安全
Windows下Git多账号配置(附github最新上传)(上)
Windows下Git多账号配置(附github最新上传)(上)
Windows下Git多账号配置(附github最新上传)(上)