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中List的sort方法指南
Sep 01 Python
Python 常用的安装Module方式汇总
May 06 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
对Python中数组的几种使用方法总结
Jun 28 Python
Python中IP地址处理IPy模块的方法
Aug 16 Python
python 申请内存空间,用于创建多维数组的实例
Dec 02 Python
详解python 中in 的 用法
Dec 12 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 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 版获取重定向后的地址(代码)
2013/06/26 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
新手简单了解vue
2019/05/29 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
pytorch中图像的数据格式实例
2020/02/11 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
学期研究性学习个人的自我评价
2014/01/09 职场文书
应届毕业生简历自我评价
2014/01/31 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
法制宣传月活动总结
2014/04/29 职场文书
如何写求职信
2014/05/24 职场文书
热情服务标语
2014/10/07 职场文书
门面房租房协议书
2014/12/01 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
贫困证明书范文
2015/06/16 职场文书
同乡会致辞
2015/07/30 职场文书
加强党性修养心得体会
2016/01/21 职场文书
python小型的音频操作库mp3Play
2022/04/24 Python
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server
Python日志模块logging用法
2022/06/05 Python