【LeetCode-中等题】54. 螺旋矩阵

文章目录

    • 题目
    • 方法一:按层模拟

题目

在这里插入图片描述

方法一:按层模拟

思路就是定义四个指针边界,按顺序扫完一遍,再缩小区域再扫描
在这里插入图片描述

 public List<Integer> spiralOrder(int[][] matrix) {List<Integer> order = new ArrayList<Integer>(); int matrixlength = matrix.length;int matrixNumlength = matrix[0].length;//判空条件if(matrix==null ||  matrixlength == 0 || matrixNumlength == 0) return order;//定义四个指针边界int top = 0;//行边界int bot = matrixlength-1;int left = 0;//列边界int right = matrixNumlength-1;while(left <= right && top <= bot){// 首先循环最外层  顺序依次为右下左上// (left)                   (right)// (top)1,      2,      3,       4 (top)//      5,      6,      7,       8// (bot)9,      10,     11,     12(bot)// (left)                    (right)//右 -->  左  最上层for(int i = left ;i <= right;i++){order.add(matrix[top][i]);}//上 -->  下  最右层for(int i = top+1 ;i <= bot;i++){order.add(matrix[i][right]);}if(left!=right  && bot!=top){//  如果right和left重合了  说明上往下扫描了一遍,就不需要再从下往上重复扫一遍了//  如果 bot 和 top 重合了  说明左往右扫描了一遍,就不需要再从右往左重复扫一遍了//左 -->  右  最下层for(int i = right-1 ;i >= left;i--){order.add(matrix[bot][i]);}//下 -->  上  最左层for(int i = bot-1 ;i >top;i--){order.add(matrix[i][left]);}}    //往里缩一圈left  ++;right --;top ++;bot --;}return order;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/56014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫逆向实战(二十三)--某准网数据

一、数据接口分析 主页地址&#xff1a;某准网 1、抓包 通过抓包可以发现数据接口是api_to/search/company_v2.json 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现b参数和kiv参数是加密参数 请求头是否加密&#xff1f; 无响应是否加…

mysql sql 执行流程

监控查询缓存的命中率 show status like ‘%qcache%’; mysql 缓存机制&#xff0c;以及 8.0 为啥取消 select sql_NO_Cache * from 表 where xxx; # 不使用缓存

AI 插件:未来的浏览器、前端与交互

想象一下&#xff0c;你在浏览器中粘贴一个 URL&#xff0c;这个 URL 不仅仅是一个网址&#xff0c;而是一个功能强大、能执行多种任务的 AI 插件。这听起来像是未来的事情&#xff0c;但实际上&#xff0c;这种变革已经悄悄进行中。 1. 插件的魅力与局限性 当我第一次接触到…

node.js 简单实验 创建一个简单的web服务

概要&#xff1a;用一个最简单是例子感受一下node.js 的能力 1.代码 var http require("http") http.createServer(function (request, response) { response.writeHead(200, {Content-Type: text/plain}); response.end(Hello World\n); }).listen(8081); cons…

使用Python爬虫采集网络热点

在当今信息爆炸的时代&#xff0c;了解网络热搜词和热点事件对于我们保持时事敏感性和把握舆论动向非常重要。在本文中&#xff0c;我将与你分享使用Python爬虫采集网络热搜词和热点事件的方法&#xff0c;帮助你及时获取热门话题和热点新闻。 1. 网络热搜词采集 网络热搜词是人…

微服务引擎 MSE 全新升级,15 分钟快速体验微服务全栈能力

作者&#xff1a;草谷 前言 微服务引擎 MSE 全新发布&#xff01;新版本带来了一系列令人振奋的特性和改进&#xff0c;让您更轻松、高效地构建和管理微服务应用程序。从快速入门到迁移优化&#xff0c;MSE 为开发人员提供了全方位的支持和解决方案。无论您是刚刚接触微服务还…

C++学习笔记总结练习:内存对齐

概述 概念 编译器为程序中的每个“数据单元”安排在适当的位置上。 原因 平台原因(移植原因)&#xff1a;不是所有的硬件平台都能访问任意地址上的任意数据的&#xff1b;某些硬件平台只能在某些地址处取某些特定类型的数据&#xff0c;否则抛出硬件异常。性能原因&#xf…

Python --数据库操作

目录 1&#xff0c; mysql 1-1&#xff0c; mysql驱动 1-2&#xff0c; 连接mysql 1-3&#xff0c; 执行sql语句 1-3-1&#xff0c; 创建表 1-3-2&#xff0c; 插入数据 1-3-3&#xff0c; 查询数据 1-3-4&#xff0c; 获取结果集 1-4&#xff0c; 断开mysql连接 1&am…

java练习8.100m小球落地

题目: 如一个小球从100米高度自由落下&#xff0c;每次落地后就反跳回原高度的一半。 那么求它在第10次落地时&#xff0c;共经过多少米&#xff1f;第10次反弹多高&#xff1f; public static void main(String[] args) {/*假如一个小球从100米高度自由落下&#xff0c;每次落…

保姆级教程:从0到1使用Stable Diffusion XL训练LoRA模型 |【人人都是算法专家】

Rocky Ding 公众号&#xff1a;WeThinkIn 写在前面 【人人都是算法专家】栏目专注于分享Rocky在AI行业中对业务/竞赛/研究/产品维度的思考与感悟。欢迎大家一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 Rocky在知乎上持续撰写Stable Diffusion XL全方位的解析文章…

不系安全带抓拍自动识别

不系安全带抓拍自动识别系统通过yolo系列算法框架模型利用高清摄像头&#xff0c;不系安全带抓拍自动识别算法对高空作业场景进行监控&#xff0c;当检测到人员未佩戴安全带时会自动抓拍并进行告警记录。YOLO系列算法是一类典型的one-stage目标检测算法&#xff0c;其利用ancho…

持续更新串联记忆English words

&#xff08;一&#xff09;这是一组关于“服装搭配”的单词。通过在记忆中检索&#xff0c;回忆起隐藏的信息吧~ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>今日单词>>&…

计算机安全学习笔记(I):访问控制安全原理

访问控制原理 从广义上来讲&#xff0c;所有的计算机安全都与访问控制有关。 RFC 4949: Internet Security Glossary, Version 2 (rfc-editor.org) RFC 4949 定义的计算机安全&#xff1a;用来实现和保证计算机系统的安全服务的措施&#xff0c;特别是保证访问控制服务的措施…

c++11 标准模板(STL)(std::basic_istringstream)(二)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ostringstream;(C11 前)template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allo…

成集云 | 旺店通多包裹数据同步钉钉 | 解决方案

源系统成集云目标系统 方案介绍 随着品牌电商兴起&#xff0c;线上线下开始逐渐融为一体&#xff0c;成集云以旺店通ERP系统为例&#xff0c;通过成集云-旺店通连接器&#xff0c;将旺店通ERP系统多包裹数据同步至钉钉实现数据互通&#xff0c;帮助企业解决了电商发货存在的错…

华为数通方向HCIP-DataCom H12-821题库(单选题:61-80)

第61题 关于 BGP 的Keepalive报文消息的描述,错误的是 A、Keepalive周期性的在两个BGP邻居之间发送 B、Keepalive报文主要用于对等路由器间的运行状态和链路的可用性确认 C、Keepalive 报文只包含一个BGP数据报头 D、缺省情况下,Keepalive 的时间间隔是180s 答案&#xff…

基于SSM的医院管理系统——LW模板

摘 要 21世纪&#xff0c;在科学技术的飞速发展的社会下&#xff0c;人们对科学技术以及信息化时代有着新的认识&#xff0c;不同领域的人们对科技水平都有着不同的发展&#xff0c;而科技信息也慢慢的渗透进了各行各业当中。 本文将从基于SSM的医院管理系统的现状和开发背景介…

Nuxt 菜鸟入门学习笔记三:视图

文章目录 入口文件组件 Components页面 Pages布局 Layouts Nuxt 官网地址&#xff1a; https://nuxt.com/ Nuxt 提供多个组件层来实现应用程序的用户界面。 入口文件 App.vue组件 Components页面 Pages布局 Layouts 下面逐一进行介绍。 入口文件 默认情况下&#xff0c;Nu…

LSF 安装目录,快速参考 LSF 命令、守护程序、配置文件、日志文件和重要集群配置参数

样本 UNIX 和 Linux 安装目录 守护程序错误日志文件 守护程序错误日志文件存储在 LSF_LOGDIR 在 lsf.conf 文件中定义的目录中。 LSF 基本系统守护程序日志文件LSF 批处理系统守护程序日志文件pim.log.host_namembatchd.log.host_namembatchd.log.host_namesbatchd.log.host_…

Programming abstractions in C阅读笔记:p130-p131

《Programming Abstractions In C》学习第52天&#xff0c;p130-p131&#xff0c;总结如下&#xff1a; 一、技术总结 1. pig latin game 通过pig latin game掌握字符复制&#xff0c;指针遍历等操作。 /** 输入&#xff1a;字符串&#xff0c;这里采用书中坐着自定义的get…