python实现顺时针打印矩阵


Posted in Python onMarch 02, 2019

面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下

问题描述:

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

 python实现顺时针打印矩阵

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

思路:每次打印并删除矩阵的第一行,然后将矩阵逆时针翻转90度,直至打印出全部结果

具体代码实现如下:

# coding:utf-8

class Solution(object):
  def printMatrix(self, matrix):
    # 打印矩阵
    result = []
    while matrix:
      result += matrix.pop(0)
      if matrix:
        matrix = self.rotate(matrix)
    return result

  def rotate(self, matrix):
    # 逆时针旋转矩阵
    row = len(matrix)
    col = len(matrix[0])
    # 存放旋转后的矩阵
    new_matrix = []
    # 行列调换
    for i in range(col):
      new_line = []
      for j in range(row):
        new_line.append(matrix[j][col-1-i])
      new_matrix.append(new_line)
    return new_matrix

if __name__ == '__main__':
  # 测试代码
  matrix = [
    [1,2,3,4],
    [5,6,7,8],
    [9,10,11,12],
    [13,14,15,16]
  ]
  solution = Solution()
  result = solution.printMatrix(matrix)
  print(result)

如有错误,欢迎指正和交流。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用列表生成式的教程
Apr 27 Python
Python实现快速多线程ping的方法
Jul 15 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
python 字典操作提取key,value的方法
Jun 26 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
对Python中画图时候的线类型详解
Jul 07 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
Python利用PyPDF2库获取PDF文件总页码实例
Apr 03 Python
python Zmail模块简介与使用示例
Dec 19 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 Python
python实现二维数组的对角线遍历
Mar 02 #Python
python实现矩阵打印
Mar 02 #Python
python实现杨氏矩阵查找
Mar 02 #Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 #Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 #Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
Mar 01 #Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 #Python
You might like
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
jQuery的学习步骤
2011/02/23 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
js实现微信分享代码
2020/10/11 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
使用Python中的tkinter模块作图的方法
2017/02/07 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python 控制终端输出文字的实例
2019/07/12 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
新学期校长寄语
2014/01/18 职场文书
给物业的表扬信
2014/01/21 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
春季运动会加油词
2015/07/18 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android