leetcode hot100 螺旋矩阵

news/2024/12/24 14:02:15 标签: leetcode, 矩阵, 算法

54. 螺旋矩阵

已解答

中等

相关标签

相关企业

提示

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

class Solution(object):

    def spiralOrder(self, matrix):

        """

        :type matrix: List[List[int]]

        :rtype: List[int]

        """

        rtlist=[]

        m=len(matrix)

        n=len(matrix[0])

        if m<=2 or n<=2:

            count=1

        else:

            count = (min(m,n)+1)/2

        count = int(count)

        # print(count)

        for counti in range(count):

            print(counti)

            top=counti

            for j in range(counti,n-counti):

                rtlist.append(matrix[top][j])

            right=n-1-counti

           

            for i in range(counti+1,m-counti):

                rtlist.append(matrix[i][right])

            bottom=m-1-counti

            left=counti

            if bottom > top and left < right:

                for j in range(n-counti-2,counti,-1):

                    rtlist.append(matrix[bottom][j])

            # if left < right:

                for i in range(m-counti-1,counti,-1):

                    rtlist.append(matrix[i][left])

     

       

         

        return rtlist

非常麻烦的,这里我们首先要考虑到底要玄幻几次算出一个count,这个count实际上就是min+1/2,一开始我没有搞清楚这个规律导致一系列错误,还有就是第一次算行的时候把一整行要都加进去,因为有只有一行的情况,还有就是当左右上下边界不满足的时候不能加入的条件!




 

       


http://www.niftyadmin.cn/n/5797872.html

相关文章

霍尔传感器在VR虚拟现实技术上的应用

在当今科技飞速发展的时代&#xff0c;虚拟现实&#xff08;VR&#xff09;技术正以前所未有的速度不断革新与拓展应用领域。 从沉浸式的游戏体验到专业的模拟训练&#xff0c;从虚拟的艺术创作空间到远程协作的工作场景&#xff0c;VR 已逐渐渗透到人们生活与工作的多个层面&…

游戏关卡设计方法的杂感

1、正规思路是&#xff1a;先写设计文档&#xff0c;画平面图&#xff0c;再做白模关卡&#xff0c;再做正规模型的关卡。 一步步扩大。 当然是有道理的&#xff0c;从小到大&#xff0c; 但实际上这需要很强的想象力&#xff0c;很多细节靠脑补&#xff0c;初学者很难做好。…

基于Spring Boot的个性化推荐外卖点餐系统

一、系统概述 该系统旨在为用户提供便捷、个性化的外卖点餐体验&#xff0c;同时为商家提供高效、智能的餐饮管理服务。通过利用Spring Boot框架的稳定性和可扩展性&#xff0c;系统实现了前后端分离的开发模式&#xff0c;支持多种设备和平台&#xff0c;确保用户在不同场景下…

conda 环境激活后,pip 版本没有切换到你预期的版本。这是 Windows 上使用 Conda 时一个比较常见的困扰。

conda 环境激活后&#xff0c;pip 版本没有切换到你预期的版本。这是 Windows 上使用 Conda 时一个比较常见的困扰。原因在于&#xff0c;环境变量的优先级问题。 Conda 环境机制: Conda 环境通过修改环境变量来实现 Python 和包的隔离。当你激活一个环境时&#xff0c;Conda 会…

Aec-Library-Website 项目常见问题解决方案

Aec-Library-Website 项目常见问题解决方案 Aec-Library-Website This is an Open-Source Library Website in which you get Resources to learn different topics, Donate book section to donate your old books, and a Book issue section to keep a record of all the bo…

外连接转AntiJoin的应用场景与限制条件 | OceanBase SQL 查询改写系列

在《SQL 改写系列&#xff1a;外连接转内连接的常见场景与错误》一文中&#xff0c;我们了解到谓词条件可以过滤掉连接结果中的 null 情形的&#xff0c;将外连接转化为内连接的做法是可行的&#xff0c;正如图1中路径(a)所示。此时&#xff0c;敏锐的你或许会进一步思考&#…

【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?

文章目录 前言问题描述问题分析问题解决1.允许所有用户上传驱动文件2.如果是想只上传白名单的驱动 前言 该方法适合永洪BI系列产品&#xff0c;包括不限于vividime desktop&#xff0c;vividime z-suit&#xff0c;vividime x-suit产品。 问题描述 当我们连接数据源的时候&a…

ArrayList 类 (顺序表)

目录 一. ArrayList 基本介绍 二. ArrayList 中的法及其应用 1. 添加元素 (1) add() (2) addAll() 2. 删除元素 (1) remove() (2) removeAll() 3. 遍历元素 (1) for 循环遍历 (2) for - each 遍历 (3) 迭代器遍历 (4) 列表迭代器遍历 4. 判断 (1) cotains() (2…