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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
Python中的XML库4Suite Server的介绍
Apr 14 Python
Python元组及文件核心对象类型详解
Feb 11 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
Jul 02 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
Python Django Cookie 简单用法解析
Aug 13 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
python中plt.imshow与cv2.imshow显示颜色问题
Jul 16 Python
Python实现数字的格式化输出
Aug 01 Python
Python调用JavaScript代码的方法
Oct 27 Python
Python自动化测试PO模型封装过程详解
Jun 22 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默认安装产生系统漏洞
2006/10/09 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
php MessagePack介绍
2013/10/06 PHP
php截取中文字符串函数实例
2015/02/23 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
详解Python3 pickle模块用法
2019/09/16 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
志愿者宣传口号
2014/06/17 职场文书
南京南京观后感
2015/06/02 职场文书
三八妇女节主持词
2015/07/04 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
Log4j.properties配置及其使用
2021/08/02 Java/Android
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL