美文网首页剑指offer-python
面试题20:顺时针打印指针

面试题20:顺时针打印指针

作者: fighting_css | 来源:发表于2018-07-01 19:56 被阅读0次

【题目描述】
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10
【思路】
将矩阵想象成一个一个环,n表示环数,依次从左至右、从上至下、从右至左,从下自上而下遍历。
【代码】

class Solution:
    # matrix类型为二维列表,需要返回列表
    def printMatrix(self, matrix):
        # write code here
        row = len(matrix)
        res = []
        if row == 0:
            return res
        col = len(matrix[0])
        if col ==1:
            for j in range(row):
                res.append(matrix[j][0])
            return res
        #记录环数
        n = min(row/2,col/2)
        m = row%2 and col%2
        for i in range(n):
            #从左自右
            res_temp = matrix[i][i:col-i]
            #从上至下
            for j in range(i+1,row-i):
                res_temp.append(matrix[j][col-i-1])
            #从右至左
            for j in range(col-i-2,i-1,-1):
                res_temp.append(matrix[row-i-1][j])
            #从下至上
            for j in range(row-i-2,i,-1):
                res_temp.append(matrix[j][i])
            res = res+res_temp
        #m==1,说明还有一行空余
        if m ==1:
            res += matrix[n][row-n-1:col-n]
        return res

相关文章

  • 面试题20:顺时针打印指针

    【题目描述】输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4...

  • 矩阵

    题一:顺时针转圈打印矩阵 题二:“之“字形打印矩阵"之"字形打印矩阵两个指针:(sr,sc)先从第一行往右移动,到...

  • 面试题20:顺时针打印矩阵

    题目:输入一个矩阵,按照从外到里以顺时针的顺序依次打印出每一个数字

  • 面试题20:顺时针打印矩阵

    题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵: 则依次打印出:1 2...

  • 顺时针打印矩阵_20

    一、题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1...

  • 剑指offer第二版-29.顺时针打印矩阵

    本系列导航:剑指offer(第二版)java实现导航帖 面试题29:顺时针打印矩阵 题目要求:输入一个矩阵,按照从...

  • 剑指offer 面试题20:顺时针打印矩阵

    题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 解法:

  • 面试题29:顺时针打印矩阵

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字 思路:定义上下左右四个变量,初始边界值,定义外层循环...

  • 面试题29:顺时针打印矩阵

    题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每个数字。如下所示矩阵: 则依次打印输出数字:1,2,3,...

  • 面试题29:顺时针打印矩阵

    题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每个数字。思路:先分析每一圈的起点,我们发现左上角的x和y...

网友评论

    本文标题:面试题20:顺时针打印指针

    本文链接:https://www.haomeiwen.com/subject/lsjhuftx.html