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操作gmail实例
Jan 14 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python让列表倒序输出的实例
Jun 25 Python
python字符串循环左移
Mar 08 Python
谈一谈基于python的面向对象编程基础
May 21 Python
python自动化测试之如何解析excel文件
Jun 27 Python
python实现简单学生信息管理系统
Apr 09 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
Python return语句如何实现结果返回调用
Oct 15 Python
python实现商品进销存管理系统
May 30 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中文汉字验证码
2007/04/08 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
python实现文件名批量替换和内容替换
2014/03/20 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
Python中内建模块collections如何使用
2020/05/27 Python
python时间time模块处理大全
2020/10/25 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
家长给孩子的表扬信
2014/01/17 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
元旦晚会策划方案
2014/02/18 职场文书
学历公证委托书
2014/04/09 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
城南旧事电影观后感
2015/06/16 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书