【力扣】54.螺旋矩阵

ops/2025/2/6 20:34:29/

AC截图

题目

思路

假如矩阵有m行n列,用一个变量total=m*n记录矩阵元素是否访问完毕。

使用四个变量,rowBegin=0,rowEnd=m-1,colBegin=0,colEnd=n-1记录四个边界,然后按照从左到右、从上到下、从右到左、从下到上依次遍历循环,每次修改边界条件直至遍历结束。

代码

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> res;int m=matrix.size();int n=matrix[0].size();int rowBegin=0,rowEnd=m-1;int colBegin=0,colEnd=n-1;int total=m*n;while(total>0){// 从左到右for(int i=colBegin;i<=colEnd&&total>0;i++){res.push_back(matrix[rowBegin][i]);total--;}rowBegin++;// 从下到上for(int i=rowBegin;i<=rowEnd&&total>0;i++){res.push_back(matrix[i][colEnd]);total--;}colEnd--;// 从右到左for(int i=colEnd;i>=colBegin&&total>0;i--){res.push_back(matrix[rowEnd][i]);total--;}rowEnd--;// 从下到上for(int i=rowEnd;i>=rowBegin&&total>0;i--){res.push_back(matrix[i][colBegin]);total--;}colBegin++;}return res;}
};


http://www.ppmy.cn/ops/156240.html

相关文章

剑指offer 栈和队列 持续更新中...

文章目录 1. 用两个栈实现队列1.1 题目描述1.2 解法 2. 用队列实现栈2.1 题目描述2.2 方法1&#xff0c;直接模拟2.3 方法22.3 方法3&#xff0c;一个队列 1. 用两个栈实现队列 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 1.1 题目描述 题目描述&#xff1a…

云计算部署模式全面解析

目录 引言公有云私有云混合云三种部署模式的对比选择建议未来趋势结语 1. 引言 随着云计算技术的快速发展,企业在选择云部署模式时面临着多种选择。本文将深入探讨云计算的三种主要部署模式:公有云、私有云和混合云,帮助读者全面了解它们的特点、优势及适用场景。 © iv…

JavaScript 中的 CSS 与页面响应式设计

JavaScript 中的 CSS 与页面响应式设计 JavaScript 中的 CSS 与页面响应式设计1. 引言2. JavaScript 与 CSS 的基本概念2.1 CSS 的作用2.2 JavaScript 的作用 3. 动态控制样式&#xff1a;JavaScript 修改 CSS 的方法3.1 使用 document.styleSheets API3.2 使用 classList 修改…

【深度学习框架】MXNet(Apache MXNet)

MXNet&#xff08;Apache MXNet&#xff09;是一个 高性能、可扩展 的 开源深度学习框架&#xff0c;支持 多种编程语言&#xff08;如 Python、R、Scala、C 和 Julia&#xff09;&#xff0c;并能在 CPU、GPU 以及分布式集群 上高效运行。MXNet 是亚马逊 AWS 官方支持的深度学…

民法学学习笔记(个人向) Part.2

民法学学习笔记(个人向) Part.2 民法始终在解决两个生活中的核心问题&#xff1a; 私法自治&#xff1b;交易安全&#xff1b; 3. 自然人 3.4 个体工商户、农村承包经营户 都是特殊的个体经济单位&#xff1b; 3.4.1 个体工商户 是指在法律的允许范围内&#xff0c;依法经…

开源2+1链动模式AI智能名片S2B2C商城小程序:利用用户争强好胜心理促进分享行为的策略研究

摘要&#xff1a;随着互联网技术的快速发展和社交媒体的普及&#xff0c;用户分享行为在企业营销中的作用日益凸显。本文旨在探讨如何利用用户的争强好胜心理&#xff0c;通过开源21链动模式AI智能名片S2B2C商城小程序&#xff08;以下简称“小程序”&#xff09;促进用户分享行…

C++六大默认成员函数

C六大默认成员函数 默认构造函数默认析构函数RAII技术RAII的核心思想优点示例应用场景 默认拷贝构造深拷贝和浅拷贝 默认拷贝赋值运算符移动构造函数&#xff08;C11起&#xff09;默认移动赋值运算符&#xff08;C11起&#xff09;取地址及const取地址操作符重载取地址操作符重…

Github 2025-02-02 php开源项目日报 Top10

根据Github Trendings的统计,今日(2025-02-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10Blade项目1Laravel:表达力和优雅的 Web 应用程序框架 创建周期:4631 天开发语言:PHP, BladeStar数量:75969 个Fork数量:24281 次…