题解 | #顺时针打印矩阵#

顺时针打印矩阵

http://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a

-- coding:utf-8 --

class Solution:
# matrix类型为二维列表,需要返回列表
output=[]
def printMatrix(self, matrix):
# write code here
return self.print_matrix(matrix,self.output)
def print_matrix(self,matrix,output):
n=len(matrix)#行数
if n!=0:
m=len(matrix[0])#列数
else:
m=0
if m==1 and n!=1:
return self.output+[matrix[i][0] for i in range(n)]
if n==0 or m==0:
return self.output
if n==1:
return self.output+matrix[0]
#输出外层
top=matrix[0]
bottom=matrix[-1][-2::-1]
right=[matrix[i+1][-1] for i in range(n-1)]
left=[matrix[n-2-i][0] for i in range(n-2)]
self.output=self.output+top+right+bottom+left
matrix_core=[]
for i in range(n-2):
#取中间的矩阵块
matrix_core.append(matrix[i+1][1:-1])
#递归
return self.print_matrix(matrix_core,output)

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:35
虽然不怎么光彩,经过这件事,可能我真的要去认同“面试八股文早该淘汰!不会用AI作弊的程序员=新时代文盲!”这句话了
HellowordX:Ai的出现是解放劳动力的,不是用来破坏公平竞争环境的,这样下去,轻则取消所有线上面试,严重了会影响整个行业对所有人产生影响,企业会拉高入职考核各种离谱考核会层出不穷
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务