首页 > 其他分享 >leetcode:螺旋矩阵

leetcode:螺旋矩阵

时间:2024-10-19 19:48:55浏览次数:1  
标签:matrix 螺旋 List 矩阵 break range ans leetcode append

2024-10-19 

https://leetcode.cn/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-interview-150

 

 

 

 1 class Solution:
 2     def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
 3 
 4         m = len(matrix)
 5         n = len(matrix[0])
 6 
 7         u = 0
 8         d = m - 1
 9         l = 0
10         r = n - 1
11 
12         ans = []
13 
14         while(True):
15             for i in range(l,r+1):
16                 ans.append(matrix[u][i])
17             u += 1
18             if(u>d): break
19             for i in range(u,d+1):
20                 ans.append(matrix[i][r])
21             r -= 1
22             if(r<l): break
23             for j in range(l,r+1):
24                 ans.append(matrix[d][r+l-j])
25             d -= 1
26             if(u>d): break
27             for i in range(u,d+1):
28                 ans.append(matrix[d+u-i][l])
29             l += 1
30             if(l>r): break
31         
32         return ans

 

标签:matrix,螺旋,List,矩阵,break,range,ans,leetcode,append
From: https://www.cnblogs.com/xxlm/p/18486442

相关文章

  • leetcode:栈和队列oj题
    目录1.有效的括号2.用队列实现栈                                        3.用栈实现队列                              ......
  • LeetCode热题100|买卖股票的最佳时机(贪心)
    简述题意省流版:在一个序列里找到max(a[i]-a[k])且i>k。解题思路:  遍历这个序列,i表示当前遍历到了第i个元素,min1表示1到i这个范围内最小的元素,max1表示1到i这个范围内最大的【max(a[i]-a[k])】。max1=max(max1,第i个元素的值-min1)代码如下:classSolution{public:intm......
  • LeetCode 707 - 设计链表
    题目描述你可以选择使用单链表或者双链表,设计并实现自己的链表。单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 ......
  • 协方差矩阵推导1
    $P_{[k]}$$=E(e_{[k]}e_{[k]}^{\mathrm{T}})$\(=E(((I-K_{[k]}H_{{m}})e_{[k]}^{-}-K_{[k]}v_{[k]})((I-K_{[k]}H_{\mathrm{m}})e_{[k]}^{-}-K_{[k]}v_{[k]})^T)\)\(=E(((I-K_{[k]}H_{m})e_{[k]}^{-}-K_{[k]}v_{[k]})(e_{[k]}^{-}{}^{\mathrm{T}}(I-K_{[k]}H_{m})^......
  • Leetcode 1129. 颜色交替的最短路径
    1.题目基本信息1.1.题目描述给定一个整数n,即有向图中的节点数,其中节点标记为0到n–1。图中的每条边为红色或者蓝色,并且可能存在自环或平行边。给定两个数组redEdges和blueEdges,其中:redEdges[i]=[a_i,b_i]表示图中存在一条从节点a_i到节点b_i的红色有向边,bl......
  • Leetcode 1135. 最低成本连通所有城市
    1.题目基本信息1.1.题目描述想象一下你是个城市基建规划者,地图上有n座城市,它们按以1到n的次序编号。给你整数n和一个数组conections,其中connections[i]=[x_i,y_i,cost_i]表示将城市x_i和城市y_i连接所要的cost_i(连接是双向的)。返回连接所有城市的最低成本,......
  • 【leetcode】 码住—两种办法解决力扣数学思想 “加一” 操作
     前言......
  • LeetCode题练习与总结:最大单词长度乘积--318
    一、题目描述给你一个字符串数组 words ,找出并返回 length(words[i])*length(words[j]) 的最大值,并且这两个单词不含有公共字母。如果不存在这样的两个单词,返回 0 。示例 1:输入:words=["abcw","baz","foo","bar","xtfn","abcdef"]输出:16解释:这两个单词为"abc......
  • LeetCode题练习与总结:灯泡开关--319
    一、题目描述初始时有 n 个灯泡处于关闭状态。第一轮,你将会打开所有灯泡。接下来的第二轮,你将会每两个灯泡关闭第二个。第三轮,你每三个灯泡就切换第三个灯泡的开关(即,打开变关闭,关闭变打开)。第 i 轮,你每 i 个灯泡就切换第 i 个灯泡的开关。直到第 n 轮,你只需要切换......
  • LeetCode刷题日记之贪心算法(二)
    目录前言买卖股票的最佳时机II跳跃游戏跳跃游戏II总结前言在上一篇贪心算法的学习中,我们探讨了贪心算法的基本思路和逻辑框架。在这篇文章中,我将继续分享几道经典的LeetCode贪心算法题,并探讨其背后的解题思路和技巧。希望通过这些题目的实践,能加深我对贪心算法的理......