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

Rust 力扣 - 54. 螺旋矩阵

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题解链接

题目描述

在这里插入图片描述

题解思路

我们只需要一圈一圈的从外向内遍历矩阵,每一圈遍历顺序为上边、右边、下边、左边

我们需要注意的是如果上边与下边重合或者是右边与左边重合,我们只需要遍历上边、右边即可

题解代码

impl Solution {pub fn spiral_order(matrix: Vec<Vec<i32>>) -> Vec<i32> {let (m, n) = (matrix.len(), matrix[0].len());let mut ans = Vec::with_capacity(m * n);let (mut t, mut b, mut l, mut r) = (0, m - 1, 0, n - 1);// 从外圈向内圈遍历while l <= r && t <= b {// 上边 从左到右for i in l..=r {ans.push(matrix[t][i]);}// 右边 从上到下for i in (t + 1)..=b {ans.push(matrix[i][r]);}if l < r && t < b {// 下边 从右到左for i in ((l + 1)..r).rev() {ans.push(matrix[b][i]);}// 左边 从下到上for i in ((t + 1)..=b).rev() {ans.push(matrix[i][l]);}}l += 1;if r != 0 {r -= 1;}t += 1;if b != 0 {b -= 1;}}ans}
}

题解链接

https://leetcode.cn/problems/spiral-matrix/


http://www.mrgr.cn/news/61928.html

相关文章:

  • 贪心算法与局部最优解
  • OpenCV基本操作(python开发)——(7)实现图像校正
  • 教育考试系统前景
  • 系统思考—啤酒游戏经营决策沙盘
  • Excel 单元格小数点精确位数机制
  • synchronized进阶原理
  • 数据结构算法学习方法经验总结
  • git快速合并代码dev->master
  • ECharts 折线图 / 柱状图 ,通用配置标注示例
  • JAVA基础-Map集合
  • 三格电子——RS485转光纤点对点式【MS-F155-M】
  • 数据结构与算法——(Hash)哈希表与哈希算法
  • 【生物学&水族馆】金鱼成体幼苗检测活体识别系统源码&数据集全套:改进yolo11-Parc
  • 打工人不上班之后,躺平还是躺赢?
  • 数据结构和算法-动态规划(3)-经典问题
  • 自闭症摘帽:突破束缚的新方式
  • YOLO即插即用模块--PPA
  • 【LeetCode】两数之和、大数相加
  • Brainpy的jit编译环境基础
  • Linux_02 Linux常用软件——vi、vim
  • 【算法】(Python)回溯算法
  • Spring Cloud Ribbon:负载均衡的服务调用
  • Java 泛型和反射(15/30)
  • 软件工程经验详细总结
  • 进程线程、同步异步、并发并行
  • 小游戏发展迅速,游戏平台如何从技术方向加速业务转化?