矩阵的螺旋式输出

题目:matrix = [[3, 4, 1, 6, 1, 3, 7], [3, 23, 43, 2, 4, 4, 2], [43, 53, 23, 53, 3, 2, 5], [5, 3, 2, 5, 23, 34, 2]] , 这个是矩阵matrix,怎样是螺旋式输出呢?  见下图

螺旋式的输出 就是从黄线开始一直遍历访问   直到结束点。。。先不要看底下的分析,自己思考一下。。

分析:

这里主要就是越界检查。。每访问一行或者一列,它的边界都会发生变化。 边界发生变化,我们就需要判断一下有没有越界。。这里我们专门写一个函数去判断越界is_boundary()。。 其次,访问就比较简单了。。见下面代码的实现

代码实现:

def is_boundry(top, buttom, left, rigth):if top >= buttom  or left >= rigth:return Trueelse:return Falsedef print_luoxuan(matrix):top = 0buttom = len(matrix)left = 0right = len(matrix[0])while True:# 访问上行  从左到右for i in range(left, right):print(matrix[top][i])top += 1if is_boundry(top, buttom, left, right):break# 访问右列  从上到下for i in range(top, buttom):print(matrix[i][right-1])right -= 1if is_boundry(top, buttom, left, right):break# 访问下行   从右到左for i in range(right-1, left-1, -1):print(matrix[buttom-1][i])buttom -= 1if is_boundry(top, buttom, left, right):break# 访问左列   从下到上for i in range(buttom-1, top-1, -1):print(matrix[i][left])left += 1if is_boundry(top, buttom, left, right):breakif __name__ == '__main__':# 给定一个矩阵 螺旋式输出该矩阵matrix = [[3, 4, 1, 6, 1, 3, 7],[3, 23, 43, 2, 4, 4, 2],[43, 53, 23, 53, 3, 2, 5],[5, 3, 2, 5, 23, 34, 2]]print_luoxuan(matrix)

输出结果:

第七天:《LeetCode一天一例》-----将矩阵进行螺旋式输出(python实现)相关推荐

  1. 同济高数第七版上册54页例1详细证明过程

    同济高数第七版上册54页例1详细证明过程 题目如下: 证明过程: 此题需要用到等比数列前n项和公式.以1为首项,x为公比(x≠0)的数列前n项和为: 整理后得: 故对于例1,证明如下:

  2. LeetCode 动态规划(Dynamic programming)系列题目--C++,Python解法

    LeetCode上有许多态规划(Dynamic programming)的题目,我在这里整合一下 本文章不再更新,请看LeetCode 所有题目总结 LeetCode 所有题目总结:LeetCode ...

  3. LeetCode 240. 搜索二维矩阵 II(二分查找 分治)

    文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...

  4. 信息学奥赛一本通 2060:【例1.1】计算机输出

    [题目链接] ybt 2060:[例1.1]计算机输出 [题目考点] 1. 输出字符串 cout << 字符型常量; printf(字符型常量); [题解代码] 解法1: #include ...

  5. 信息学奥赛一本通(2060:【例1.1】计算机输出)

    2060:[例1.1]计算机输出 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 597     通过数: 424 [题目描述] 在屏幕上输出"Hello ...

  6. python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...

    注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务 目录 考纲考点 文件的使用: 文件打开.关闭和读写 数据组织的维度:一维数据和二维数据 一维数据的处理:表示.存储和处理 ...

  7. 信息学奥赛一本通-2060【例1.1】计算机输出 题解

    2060:[例1.1]计算机输出 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 100478     通过数: 50647 [题目描述] 在屏幕上输出" ...

  8. 第七章 输入与输出 ——python导引编译之八

    第七章 输入与输出 --python导引编译之八 标题7.输入与输出 Input and Output 有一些表达一个程序的输出方式:数据可以打印在一个人皆可读的形式之中,或者,为未来使用写到一个文件 ...

  9. 【LeetCode】436. Find Right Interval 解题报告(Python)

    [LeetCode]436. Find Right Interval 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: h ...

最新文章

  1. Android编程获取网络连接状态及调用网络配置界面
  2. 深入浅出解释FFT(一)——用fft求频谱
  3. 前端调试工具Browser-sync(Windows)安装指南
  4. implicit assignment of unexported field
  5. 怎样对流媒体进行压力测试_暖气片怎样安装效果好?暖气片正确的安装,采暖效果更好!...
  6. VTK:Utilities之DetermineActorType
  7. ExtJs5.0在WebStorm上的使用之入门教程(一)编写第一个网页 HelloExt
  8. strust2自定义拦截器
  9. 万丰科技机器人排名_万丰科技拟“借壳”长春经开
  10. HDU1556 Color the ball【差分数组+线段树】
  11. SQLite:关于日期的字段的优化将给Julia带来大幅效率提升
  12. Android端公司通讯录开发与实现(一)
  13. 100kW以上 中高频感应加热电源 双DSP数字式IGBT控制板
  14. ppt五种经典字体组合
  15. 复原 IP 地址(回溯)
  16. matlab newton插值,(最新整理)Newton插值法
  17. 使用selenium爬取艺恩网年度票房(8.16)
  18. Zemax-多重结构的公差分析
  19. Win7 X64 SQL SERVER 2000企业管理器无法建立新表
  20. ppt怎么设置页面比例为4:3

热门文章

  1. 存储税码和税率的表SAP
  2. 【mysql.sock丢失】
  3. font在html语言中是什么意思,CSS中font是什么意思?
  4. 最新X-Bogus算法分析,案例提出接口方式调用(2023-05-15)
  5. ISO7741DWR代替品2Pai荣湃π141E61 5.0kVrms 200Mbps四通道数字隔离器
  6. 字符串转成GB2312 十六进制转换为字符串
  7. 百度地图根据坐标获取地址信息
  8. 【OpenCV】 OpenCV-4.1.1 + Visual Studio 2015 安装教程
  9. spa项目完成登录注册布局
  10. antd-- table表格排序