博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
顺时针打印矩阵
阅读量:5101 次
发布时间:2019-06-13

本文共 764 字,大约阅读时间需要 2 分钟。

讨论:https://www.nowcoder.com/profile/2235013/codeBookDetail?submissionId=12595600

 

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

例如,如果输入如下4 X 4矩阵:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

 

python实现:

迄今为止找到的最简单的做法,用pop()

def printMatrix(matrix):    res = []    while matrix:        res += matrix.pop(0) # 先将第一行添加进列表中 也可以res.extend(matrix.pop(0))        if matrix and matrix[0]:             for row in matrix: # 遍历每一行                res.append(row.pop())  # 每一行最后一个        if matrix: # 如果还存在矩阵 最后一行从右往左            res += matrix.pop()[::-1] # 最后一行 翻转        if matrix and matrix[0]: # 如果还存在矩阵 往上添加            for row in matrix[::-1]:                res.append(row.pop(0))    return res

 

转载于:https://www.cnblogs.com/happyfan/p/10889703.html

你可能感兴趣的文章
Jetty性能调优
查看>>
Java设计模式
查看>>
Spring动态的切换数据源
查看>>
性能调优工具
查看>>
https的报文传输机制
查看>>
红黑树
查看>>
mybatis的源码学习
查看>>
leetcode(90)子集 2
查看>>
leetcode(85)最大矩形
查看>>
leetcode(121-123)买股票的最佳时机
查看>>
leetcode(105)从前序遍历和中序遍历构建二叉树
查看>>
leetcode(153)寻找旋转排序数组中的最小值
查看>>
leetcode(106)从中序遍历和后序遍历构建二叉树
查看>>
求众数leetcode(169)+投票算法
查看>>
leetcode(120)三角形最小路径之和
查看>>
html样式
查看>>
插入、删除和随机查询时间复杂度都为O(1) leetcode 381
查看>>
实战Netty集群
查看>>
多线程 Threading Multiprocessing(Python)
查看>>
多线程
查看>>