剑指offer-顺时针打印矩阵19
题目描述
class Solution:
# matrix类型为二维列表,需要返回列表
def printMatrix(self, matrix):
row=len(matrix)
if row==0:
return None
#初始化相关参数
col=len(matrix[0])
reslist=[]
startRow=0
endRow=row-1
startCol=0
endCol=col-1
while startRow<=endRow and startCol<=endCol:
#如果就剩下一行
if startRow==endRow:
i=startCol
while i<=endCol:
reslist.append(matrix[startRow][i])
i+=1
return reslist
#如果就剩下一列
if startCol==endCol:
i=startCol
while i<=endRow:
reslist.append(matrix[i][startCol])
i+=1
return reslist
#首行
i=startCol
while i<=endCol:
reslist.append(matrix[startRow][i])
i+=1
#末列
i=startRow+1
while i<=endRow:
reslist.append(matrix[i][endCol])
i+=1
#末行
i=endCol-1
while i>=startCol:
reslist.append(matrix[endRow][i])
i-=1
#首列
i=endRow-1
while i>=startRow+1:
reslist.append(matrix[i][startCol])
i-=1
startRow+=1
startCol+=1
endRow-=1
endCol-=1
return reslist
剑指offer-顺时针打印矩阵19的更多相关文章
- 剑指offer - 顺时针打印矩阵 - JavaScript
		
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下 4 X 4 矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印 ...
 - 剑指Offer 顺时针打印矩阵
		
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...
 - 剑指OFFER——顺时针打印矩阵
		
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8 ...
 - 剑指Offer顺时针打印矩阵
		
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...
 - 剑指Offer_Java_顺时针打印矩阵(二维数组)
		
顺(逆)时针打印矩阵 算法思想: 简单来说,就是不断地收缩矩阵的边界 定义四个变量代表范围,up(初始0).down(初始-行高).left(初始-0).right(初始-列宽), 向右走存入整行的值 ...
 - 剑指Offer-19.顺时针打印矩阵(C++/Java)
		
题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字 ...
 - 剑指offer--26.顺时针打印矩阵
		
1,2,3,45,6,7,88,10,11,1213,14,15,16 每次输出第一行,然后删除第一行,逆时针旋转剩下的矩阵. ------------------------------------ ...
 - python剑指offer 顺时针打印指针
		
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...
 - 用js刷剑指offer(顺时针打印数组)
		
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...
 
随机推荐
- android软件开发基础
			
1.android特性:开放性:开源的一个基础, 方便性: 平等性: 2.Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,Broadc ...
 - SQL语句中生成UUID方法
			
SQL语句中生成UUID方法为UUID() 生成带横线UUID: select UUID() 形如:abaffaca-fd55-11e5-b3d0-d2 ...
 - PHPExcel 导入Excel数据 (导出下一篇我们继续讲解)
			
一:使用composer下载 phpoffice/phpexcel 或者直接下载安装包 composer require phpoffice/phpexcel 二 1:导入数据 原理:读取文件,获取文 ...
 - QP-nano结构分析
			
QP-nano是QP的一个裁剪版本,是一个通用的.可移植的.超轻量级的事件驱动型框架.适用于像8051.PIC.AVR.MSP430.68HC01/11/12.R8C/Tiny等资源受限的8位和16位 ...
 - 【Android】Android Studio真机调试的问题统整
			
真机调试需要注意以下几个问题 [1]手机的USB调试需开启 [2]手机不能是仅充电模式,需要传输数据模式 [3]有些USB线会偷工减料,请拿一条没问题的线,例如买手机时原厂给的配线 [4]在PC端需要 ...
 - phpcms v9 完美更换整合Ueditor 1.3
			
phpcms这套系统相信大家不陌生,它做的很不错,但是也有好多地方不满足我们的需求,比如在线编辑器. 它自带的是CKEditor编辑器,功能较少,比如代码加亮功能就没有. 所以我来说一下怎么替换php ...
 - git小技巧之分支、关联远程仓库、回滚、解决.gitignore不生效等
			
1.分支管理 新建并切换分支:git checkout -b <name>新建本地分支并关联到远程分支git checkout -b myRelease origin/Release合并某 ...
 - PTA基础编程题目集7-4 BCD解密
			
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位.所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12.但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了 ...
 - go学习笔记-错误处理
			
错误处理 通过内置的错误接口提供了非常简单的错误处理机制. error类型是一个接口类型 type error interface { Error() string } 可以在编码中通过实现 erro ...
 - Node.js的Formidable模块的使用,方便快捷
			
服务用的是express ,如果不是很老的express框架,都有自带formidable 如果没有就下载一个 npm i formidable var formidable = require( ...