第七天:《LeetCode一天一例》-----将矩阵进行螺旋式输出(python实现)
矩阵的螺旋式输出
题目: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实现)相关推荐
- 同济高数第七版上册54页例1详细证明过程
同济高数第七版上册54页例1详细证明过程 题目如下: 证明过程: 此题需要用到等比数列前n项和公式.以1为首项,x为公比(x≠0)的数列前n项和为: 整理后得: 故对于例1,证明如下:
- LeetCode 动态规划(Dynamic programming)系列题目--C++,Python解法
LeetCode上有许多态规划(Dynamic programming)的题目,我在这里整合一下 本文章不再更新,请看LeetCode 所有题目总结 LeetCode 所有题目总结:LeetCode ...
- LeetCode 240. 搜索二维矩阵 II(二分查找 分治)
文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...
- 信息学奥赛一本通 2060:【例1.1】计算机输出
[题目链接] ybt 2060:[例1.1]计算机输出 [题目考点] 1. 输出字符串 cout << 字符型常量; printf(字符型常量); [题解代码] 解法1: #include ...
- 信息学奥赛一本通(2060:【例1.1】计算机输出)
2060:[例1.1]计算机输出 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 597 通过数: 424 [题目描述] 在屏幕上输出"Hello ...
- python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...
注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务 目录 考纲考点 文件的使用: 文件打开.关闭和读写 数据组织的维度:一维数据和二维数据 一维数据的处理:表示.存储和处理 ...
- 信息学奥赛一本通-2060【例1.1】计算机输出 题解
2060:[例1.1]计算机输出 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 100478 通过数: 50647 [题目描述] 在屏幕上输出" ...
- 第七章 输入与输出 ——python导引编译之八
第七章 输入与输出 --python导引编译之八 标题7.输入与输出 Input and Output 有一些表达一个程序的输出方式:数据可以打印在一个人皆可读的形式之中,或者,为未来使用写到一个文件 ...
- 【LeetCode】436. Find Right Interval 解题报告(Python)
[LeetCode]436. Find Right Interval 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: h ...
最新文章
- Android编程获取网络连接状态及调用网络配置界面
- 深入浅出解释FFT(一)——用fft求频谱
- 前端调试工具Browser-sync(Windows)安装指南
- implicit assignment of unexported field
- 怎样对流媒体进行压力测试_暖气片怎样安装效果好?暖气片正确的安装,采暖效果更好!...
- VTK:Utilities之DetermineActorType
- ExtJs5.0在WebStorm上的使用之入门教程(一)编写第一个网页 HelloExt
- strust2自定义拦截器
- 万丰科技机器人排名_万丰科技拟“借壳”长春经开
- HDU1556 Color the ball【差分数组+线段树】
- SQLite:关于日期的字段的优化将给Julia带来大幅效率提升
- Android端公司通讯录开发与实现(一)
- 100kW以上 中高频感应加热电源 双DSP数字式IGBT控制板
- ppt五种经典字体组合
- 复原 IP 地址(回溯)
- matlab newton插值,(最新整理)Newton插值法
- 使用selenium爬取艺恩网年度票房(8.16)
- Zemax-多重结构的公差分析
- Win7 X64 SQL SERVER 2000企业管理器无法建立新表
- ppt怎么设置页面比例为4:3
热门文章
- 存储税码和税率的表SAP
- 【mysql.sock丢失】
- font在html语言中是什么意思,CSS中font是什么意思?
- 最新X-Bogus算法分析,案例提出接口方式调用(2023-05-15)
- ISO7741DWR代替品2Pai荣湃π141E61 5.0kVrms 200Mbps四通道数字隔离器
- 字符串转成GB2312 十六进制转换为字符串
- 百度地图根据坐标获取地址信息
- 【OpenCV】 OpenCV-4.1.1 + Visual Studio 2015 安装教程
- spa项目完成登录注册布局
- antd-- table表格排序