首页 > 其他分享 >54.螺旋矩阵(中)

54.螺旋矩阵(中)

时间:2024-04-01 09:45:14浏览次数:27  
标签:matrix 螺旋 int 54 top 矩阵 len List

目录

题目

模拟

class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        m, n = len(matrix), len(matrix[0])
        res = []
        top, bottom = 0, m - 1
        left, right = 0, n - 1
        while top <= bottom and left <= right:
            # 遍历上边界
            for i in range(left, right + 1):
                res.append(matrix[top][i])
            top += 1
            # 遍历右边界
            for i in range(top, bottom + 1):
                res.append(matrix[i][right])
            right -= 1
            # 遍历下边界
            if top <= bottom:
                for i in range(right, left - 1, -1):
                    res.append(matrix[bottom][i])
                bottom -= 1
            # 遍历左边界
            if left <= right:
                for i in range(bottom, top - 1, -1):
                    res.append(matrix[i][left])
                left += 1
        return res

标签:matrix,螺旋,int,54,top,矩阵,len,List
From: https://www.cnblogs.com/lushuang55/p/18107773

相关文章

  • LeetCodeHot100 二叉树 94. 二叉树的中序遍历 104. 二叉树的最大深度 101. 对称二
    94.二叉树的中序遍历https://leetcode.cn/problems/binary-tree-inorder-traversal/description/?envType=study-plan-v2&envId=top-100-liked//递归//List<Integer>resList;//publicList<Integer>inorderTraversal(TreeNoderoot){//re......
  • 矩阵匹配【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-矩阵匹配从一个NM(N<=M)的矩阵中选出N个数,任意两个数字不能在同一行或同一列,求选出来的N个数中第K大的数字的最小值是多少。输入描述:输入矩阵要求:1<=K<=N<=M<=150输入格式:NMKNM矩阵输出描述:N*M的矩阵中可以选出M!/N!种组合数组,每个组合数组中第K大的数中的......
  • java数据结构与算法刷题-----LeetCode1091. 二进制矩阵中的最短路径
    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846文章目录广度优先+双分裂蛇广度优先+双分裂蛇双分裂蛇:是求二维表中从起点到终点的经典思路(也是......
  • 矩阵置零 - LeetCode 热题 18
    大家好!我是曾续缘......
  • Open CASCADE学习|自定义圆柱螺旋线
    由《OpenCASCADEBRepFormat》中可知,圆柱面的参数方程为:通过控制圆柱面的参数空间[u,v]便可以得到任意圆柱螺旋线。本例先根据参数生成圆柱面上的点,再把点拟合成空间曲线,从而得到螺旋线。#include<Geom_CylindricalSurface.hxx>#include<gp_Ax3.hxx>#include<GeomAP......
  • CMU15445 2022fall project1
    cmu154452022falllab1BufferPool此project实现一个bufferpool,缓存住磁盘查询的数据。Task1这部分需要我们实现一个可扩展的哈希表,这部分的难点在于插入操作时的分裂,由于Remove不需要我们将目录和桶收缩回去,所以它也很简单。先分析清楚目录和桶的结构。我们可以先实现简......
  • CMU15445 2022fall project4
    CMU154452022fallproject4这个project整体难度稍微高于project3,主要难点在于task1。Task1这部分实现一个锁管理器处理事务对表和行的加锁解锁,是这个project中最复杂的部分。问题:关于为什么在各个隔离级别下,锁要设计成下面这样?REPEATABLE_READ:Thetransactionisr......
  • 矩阵乘法
    佳佳的Fibonacci由题可知,我们需要用矩阵乘法求出\(T(n)\)现在就考虑构造几位维的矩阵,我么知道\(F_n=F_{n-1}+F_{n-2}\)所以求出\(F_n\)至少需要两个元素,然后\(T_n\)呢,就需要\(nF_{n-1}+nF_{n-2}+T_{n-1}\)\[\left[\begin{matrix}T_{n-1}&nF_{n-1}&nF_{n-2}&F_{n-1}&......
  • luogu P1543 [POI2004] SZP 题解
    题目传送门前置知识树形DP解法将\(a_{i}\)向\(i\)连一条有向边,这样就形成了基环外向树森林。基环外向树森林内每棵基环外向树是相互独立的,需要单独处理。对于每棵基环外向树,任取环上一点\(x\),断开\(x\)到\(fa_{x}\)的有向边,外向树就变成了一棵以\(x\)为根的树。......
  • Acwing 5475. 聚会 ( BFS )
    https://www.acwing.com/problem/content/5478/输入样例1:5543124321223344145输出样例1:22223输入样例2:76321233221122334255667输出样例2:1112211#pragmaGCCdiagnosticerror"-std=c++11"#pragmaGCCtarget(......