zoukankan      html  css  js  c++  java
  • [LeetCode]题解(python):054-Spiral Matrix

    题目来源:

      https://leetcode.com/problems/spiral-matrix/


    题意分析:

      输入一个m×n的数字矩阵。将这个矩阵按照螺旋方向输成一列。比如:

    [
     [ 1, 2, 3 ],
     [ 4, 5, 6 ],
     [ 7, 8, 9 ]
    ]
    输出[1,2,3,6,9,8,7,4,5]

    题目思路:

      这道题目只需要模拟这个过程。分四步,第一步行左到右,第二步从上到下,第三步右到左,最后一步下到上。


    代码(python):

      

    class Solution(object):
        def spiralOrder(self, matrix):
            """
            :type matrix: List[List[int]]
            :rtype: List[int]
            """
            size = len(matrix)
            if size == 0: return []
            m = len(matrix[0])
            if m == 0: return []
            r,l = 0,0; size -= 1;m -= 1
            ans = []
            while r <= m and l <= size:
                for i in range(r,m + 1):
                    ans.append(matrix[l][i])
                l += 1
                if l > size:
                    break
                for i in range(l,size + 1):
                    ans.append(matrix[i][m])
                m -= 1;i = m
                if m < r:
                    break
                while i >= r:
                    ans.append(matrix[size][i]);i -= 1
                size -= 1;i = size
                if size < l:
                    break
                while i >= l:
                    ans.append(matrix[i][r]); i -= 1
                r += 1
            return ans
    View Code

    转载请注明出处:http://www.cnblogs.com/chruny/p/4968746.html

  • 相关阅读:
    css 元素垂直居中
    win7定时关机
    tabel使用总结
    Js获取当前日期时间及其它操作
    织梦dedecms自定义表单设置必填项
    css字体文本格式 鼠标样式
    css溢出文本显示省略号
    java注解学习
    自定义JSON返回字段
    Spring-解决请求中文乱码问题
  • 原文地址:https://www.cnblogs.com/chruny/p/4968746.html
Copyright © 2011-2022 走看看