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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
python3去掉string中的标点符号方法
Jan 22 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
Django 路由层URLconf的实现
Dec 30 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
Javascript事件实例详解
2013/11/06 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
实习评语
2013/12/16 职场文书
安全事故检讨书
2014/01/18 职场文书
公司担保书范文
2014/05/21 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
golang slice元素去重操作
2021/04/30 Golang
python实现剪贴板的操作
2021/07/01 Python
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers