当前位置: 首页 > article >正文

【leetcode100】螺旋矩阵

1、题目描述

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]

2、初始思路

2.1 思路

定义上下左右边界,从而循环输出。

class Solution(object):
    def spiralOrder(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: List[int]
        """
        m, n = len(matrix), len(matrix[0])
        top, bottom, left, right = 0, m-1, 0, n-1
        result = []
        """ for i in range(2,2):
            print(i) """
        while top <= bottom and left <= right:
            for i in range(left, right+1):
                result.append(matrix[top][i])
            top += 1
            for j in range(top, bottom+1):
                result.append(matrix[j][right])
            right -= 1
            if top <= bottom:
                for k in range(right, left-1, -1):
                    result.append(matrix[bottom][k])
                bottom -= 1
            if left <= right:
                for l in range(bottom, top-1, -1):
                    result.append(matrix[l][left])
                left += 1
        return result

3 总结

1、range循环的输出:

for i in range(2,2):
    print(i)
#输出为null


http://www.kler.cn/a/419066.html

相关文章:

  • 数据集-目标检测系列- 海边漫步锻炼人检测数据集 person >> DataBall
  • 如何在 Ubuntu 18.04 上设置 Apache 虚拟主机
  • Python入门(19)--最终篇
  • 操作无法完成,因为其中的文件夹或文件已在另一程序中打开 请关闭该文件夹或文件,然后重试。>>怎么删除被打开的文件
  • 简单的Activiti Modoler 流程在线编辑器
  • 宏集eXware物联网网关在水务管理系统上的应用
  • 数据资产管理是什么?为什么重要?核心组成部分(分类分级、登记追踪、质量管理、安全合规)、实施方法、未来趋势、战略意义
  • 在 Ubuntu 20.04 上使用 Lux 下载 Bilibili 视频的详细教程
  • Web API - Clipboard
  • Qt PDF 前置课
  • RTC 实时时钟实验
  • oracle RAC各版本集群总结和常用命令汇总
  • C语言——库函数
  • 最大值(Java Python JS C++ C )
  • 课程答疑微信小程序设计与实现
  • 概率论——假设检验
  • 【北京迅为】iTOP-4412全能版使用手册-第十九章 搭建和测试TFTP服务器
  • C++之2048(2.0版)
  • go并发设计模式runner模式
  • 初级数据结构——二叉搜索树
  • 【Linux】MDNS:局域网域名解析
  • 网络安全之IP伪造
  • 【k8s】kubelet 的相关证书
  • java并发面试复习
  • MyBlog(五) -- 用户注册页面完善
  • 群控系统服务端开发模式-应用开发-短信工厂结构封装