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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
用python登录Dr.com思路以及代码分享
Jun 25 Python
Python实现冒泡,插入,选择排序简单实例
Aug 18 Python
python调用百度语音REST API
Aug 30 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
浅析python内置模块collections
Nov 15 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
PHP基于phpqrcode类库生成二维码过程解析
May 28 Python
基于Python制作一副扑克牌过程详解
Oct 19 Python
使用Python获取字典键对应值的方法
Apr 26 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程序内部post数据的方法
2015/03/31 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
Vue父子组件传值的一些坑
2020/09/16 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
python中几种自动微分库解析
2019/08/29 Python
wxpython绘制圆角窗体
2019/11/18 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
PHP面试题及答案二
2015/05/23 面试题
模范班主任事迹材料
2014/12/17 职场文书
党员个人自我评价
2015/03/03 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书