面试题之顺时针打印矩阵,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实现顺时针打印矩阵-创新互联
URL分享:https://www.cdcxhl.com/article0/dcjeoo.html
成都网站建设公司_创新互联,为您提供品牌网站建设、网站内链、网站改版、品牌网站制作、网站排名、全网营销推广
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联