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访问纯真IP数据库的代码
May 19 Python
Python文件及目录操作实例详解
Jun 04 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
基于Python实现大文件分割和命名脚本过程解析
Sep 29 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
Python中的特殊方法以及应用详解
Sep 20 Python
如何使用Python实现一个简易的ORM模型
May 12 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
May 31 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
python实现上传下载文件功能
2020/11/19 Python
10个Python小技巧你值得拥有
2018/09/29 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
python如何实现递归转非递归
2021/02/25 Python
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
国际商务专业学生个人的自我评价
2013/09/28 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
《母鸡》教学反思
2014/02/25 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android