首页 > 其他分享 >力扣54. 螺旋矩阵

力扣54. 螺旋矩阵

时间:2023-02-05 16:22:58浏览次数:34  
标签:10 matrix int 54 矩阵 力扣 vector result

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

 

示例 1:

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

 

示例 2:

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

参考了题解,做模拟就是不能偷懒,应该一步一步来,自己找规律写的总有样例会挂

 1 class Solution {
 2 public:
 3     vector<int> result;
 4 
 5     void travel(vector<vector<int>> matrix){
 6         int m=matrix.size();  //行数
 7         int n=matrix[0].size();  //列数
 8         int l=0,r=n-1,u=0,b=m-1;  //定义四条边界
 9         while(true){
10             for(int i=l;i<=r;++i)
11                 result.push_back(matrix[u][i]);
12             if (++u>b)
13                 break;
14             for(int i=u;i<=b;++i)
15                 result.push_back(matrix[i][r]);
16             if (--r<l)
17                 break;
18             for(int i=r;i>=l;--i)
19                 result.push_back(matrix[b][i]);
20             if (--b<u)
21                 break;
22             for (int i=b;i>=u;--i)
23                 result.push_back(matrix[i][l]);
24             if (++l>r)
25                 break;
26         }
27         
28     }
29     vector<int> spiralOrder(vector<vector<int>>& matrix) {
30         travel(matrix);
31         return result;
32     }
33 };

 

标签:10,matrix,int,54,矩阵,力扣,vector,result
From: https://www.cnblogs.com/coderhrz/p/17093511.html

相关文章

  • 【CF549G】Happy Line
    首先你直接模拟复杂度上天,不能通过此题。由于有解时最后单调不降,那么我们考虑排序。排什么?找不变量。假设当前\(a_i,a_{i+1}\)需要进行操作。那么结果变成\(a_{i+1}......
  • 重塑矩阵
    在MATLAB中,有一个非常有用的函数reshape,它可以将一个 mxn矩阵重塑为另一个大小不同(rxc)的新矩阵,但保留其原始数据。给你一个由二维数组mat表示的 mxn矩阵,......
  • 矩阵的变换与逆矩阵
    矩阵的转置矩阵的行列互换    矩阵的逆有逆的矩阵一定是方阵,不是所有方阵都有逆。矩阵的逆运算也就是矩阵的除法,对应于实数运算中的倒数。    ......
  • latex矩阵
    1###########################################################################################################用&分隔列,用//分隔行\begin{equation*}\mathbfF= ......
  • 力扣-138-复杂链表的复制/剑指Offer-35-复杂链表的复制
    与复制普通链表的区别在于:多出了一个随机指针我们考虑下复制一个普通链表:遍历并复制节点i,让构造的他的上一个节点指向i看起来只需要2个指针,指针1指向当前构造的节点,指......
  • 矩阵的概念和矩阵的运算
    矩阵的概念m*n矩阵,m是行数,n是列数小写字母一般表示数,大写字母一般表示矩阵单位矩阵指主对角线数字全为1,其他位置数字全为0的矩阵,一般用E或I表示    矩阵......
  • 算法刷题-单词接龙、矩阵中的最长递增路径、Z 字形变换
    单词接龙字典wordList中从单词beginWord__和endWord的**转换序列**是一个按下述规格形成的序列:序列中第一个单词是beginWord。序列中最后一个单词是endWord......
  • 搜索二维矩阵
    编写一个高效的算法来判断 mxn 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。/**......
  • 【C语言 数据结构】数组与对称矩阵的压缩存储
    文章目录​​数组的定义​​​​数组的顺序表示和实现​​​​顺序表中查找和修改数组元素​​​​矩阵的压缩存储​​​​特殊矩阵​​​​稀疏矩阵​​数组的定义提到数组......
  • 力扣98 验证二叉搜索树
    题目:给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:节点的左子树只包含小于当前节点的数。节点的右子树只包含......