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实现在windows下操作word的方法
Apr 28 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
django框架如何集成celery进行开发
May 24 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
使用python存储网页上的图片实例
May 22 Python
Python 占位符的使用方法详解
Jul 10 Python
python 直接赋值和copy的区别详解
Aug 07 Python
基于python plotly交互式图表大全
Dec 07 Python
Python脚本导出为exe程序的方法
Mar 25 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
python自动生成证件号的方法示例
Jan 14 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 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模块 Memcached功能多于Memcache
2011/06/14 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python Flask实现restful api service
2017/12/04 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python中提高pip install速度
2020/02/14 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
CK美国官网:Calvin Klein
2016/08/26 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
编辑硕士自荐信范文
2013/11/27 职场文书
大学军训感言400字
2014/03/11 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
劳模事迹材料范文
2014/12/24 职场文书
摘录式读书笔记
2015/07/01 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android