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基础教程之字典操作详解
Mar 25 Python
Python def函数的定义、使用及参数传递实现代码
Aug 10 Python
Python字符串处理之count()方法的使用
May 18 Python
Python实现excel转sqlite的方法
Jul 17 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
python3实现弹弹球小游戏
Nov 25 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
实例详解Python的进程,线程和协程
Mar 13 Python
python数字图像处理:图像的绘制
Jun 28 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
我的论坛源代码(十)
2006/10/09 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
Django自定义分页效果
2017/06/27 Python
在django中使用自定义标签实现分页功能
2017/07/04 Python
详解Python 正则表达式模块
2018/11/05 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
python创建学生管理系统
2019/11/22 Python
基于python3的socket聊天编程
2020/02/17 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
比利时香水网上商店:NOTINO
2018/03/28 全球购物
采购文员岗位职责
2013/11/20 职场文书
酒店经理职责
2014/01/30 职场文书
2014组织生活会方案
2014/05/19 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
tomcat下部署jenkins的方法
2022/05/06 Servers