码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 牛客网——蛇形数组


    ​
    ​

    活动地址:CSDN21天学习挑战赛

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
    想系统/深入学习某技术知识点…
    一个人摸索学习很难坚持,想组团高效学习…
    想写博客但无从下手,急需写作干货注入能量…
    热爱写作,愿意让自己成为更好的人…

    …
    欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程。您可以从以下3个方面任选其一着手(不强制),或者按照自己的理解发布专栏学习作品,参考如下:

    **

    目录

    前言

    一、蛇形数组

    描述

    输入描述:

    输出描述:

     二、分析问题

    三、代码如下 

     总结


    前言

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


    一、蛇形数组

    题目来源:

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

    描述

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

    输入描述:

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

    输出描述:

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

    1<=n<=1000

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


     二、分析问题

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

    附上一张大佬分析图:


    三、代码如下 

    1. #include <iostream>
    2. using namespace std;
    3. void snack(int n)
    4. {
    5. int num = 1;
    6. int k = 0;
    7. int a[n][n];
    8. while(k < n)
    9. {
    10. for(int i = 0; i <= k; ++i)
    11. {
    12. if (k % 2 == 0)
    13. {
    14. a[k-i][i] = num++;
    15. }else
    16. {
    17. a[i][k-i] = num++;
    18. }
    19. }
    20. ++k;
    21. }
    22. int flag = 1;
    23. while(k < 2*n - 1)
    24. {
    25. for(int i = n-1;i>=flag;--i)
    26. {
    27. if(k%2 == 0)
    28. {
    29. a[k-i][i] = num++;
    30. }
    31. else
    32. {
    33. a[i][k-i] = num++;
    34. }
    35. }
    36. flag++;
    37. ++k;
    38. }
    39. for(int i = 0; i < n; ++i)
    40. {
    41. for(int j = 0; j< n; ++j)
    42. {
    43. cout<<a[i][j]<<" ";
    44. }
    45. cout<<endl;
    46. }
    47. }
    48. int main()
    49. {
    50. int n;
    51. cin >>n;
    52. snack(n);
    53. return 0;
    54. }

     


     总结

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

  • 相关阅读:
    ETCD数据库源码分析——集群间网络层服务端接口
    Last Week in Milvus
    PyTorch深度学习快速入门
    监控易一体化运维:打造机房环境监控的卓越典范
    LeetCode 刷题 [C++] 第98题.验证二叉搜索树
    Lazada如何申请入驻Lazmall品牌商城,会给商家带来哪些权益
    CF - B. Combinatorics Homework(思维)
    【LeetCode与《代码随想录》】贪心算法篇:做题笔记与总结-JavaScript版
    指针和数组试题解析(2)字符数组部分
    MongoDB Realm数据库在Node中的使用
  • 原文地址:https://blog.csdn.net/m0_72503424/article/details/126414587
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号