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并发编程之线程实例解析
Dec 27 Python
Python实现的简单排列组合算法示例
Jul 04 Python
python查看列的唯一值方法
Jul 17 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
linux环境下Django的安装配置详解
Jul 22 Python
Python Json数据文件操作原理解析
May 09 Python
基于python实现上传文件到OSS代码实例
May 09 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
python中的被动信息搜集
Apr 29 Python
如何使用Tkinter进行窗口的管理与设置
Jun 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下使用以下代码连接并测试
2008/04/09 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
使用console进行性能测试
2015/04/27 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
基于Python实现一个简单的银行转账操作
2016/03/06 Python
有趣的python小程序分享
2017/12/05 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
学生会离职感言
2014/02/11 职场文书
公共场所禁烟标语
2014/06/25 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
汇报材料怎么写
2014/12/30 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
工程资料员岗位职责
2015/04/13 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书