美文网首页
顺时针打印矩阵

顺时针打印矩阵

作者: 流光汐舞 | 来源:发表于2018-05-10 18:32 被阅读0次
    #递归
    def snail(array):
        return list(array[0]) + snail(zip(*array[1:])[::-1]) if array else []
    
    #非递归
    def snail(array):
        a = []
        while array:
            a.extend(list(array.pop(0)))
            array = zip(*array)
            array.reverse()
        return a
    
    如:
    
    array=[
            [1, 2, 3,],
            [4, 5, 6,],
            [7, 8, 9,]
        ]
    result=[1, 2, 3, 6, 9, 8, 7, 4, 5]
    
    #矩阵转置 
    def snail_reverse(array):
        return map(list,zip(*array))
    array=[
            [1, 2, 3,],
            [4, 5, 6,],
            [7, 8, 9,]
        ]
    result=[
            [1, 4, 7], 
            [2, 5, 8], 
            [3, 6, 9]
        ]
    

    相关文章

      网友评论

          本文标题:顺时针打印矩阵

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