LeetCode(35)螺旋矩阵【矩阵】【中等】

目录
- 1.题目
- 2.答案
- 3.提交结果截图
链接: 54. 螺旋矩阵
1.题目
给你一个 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]
提示:
m == matrix.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100
2.答案
class Solution {public List<Integer> spiralOrder(int[][] matrix) {// 遍历int size = matrix.length * matrix[0].length;List<Integer> list = new ArrayList<>(size);int circleIndex = 0;int i = 0;while (i < size) {int length = matrix[0].length - circleIndex * 2;for (int j = 0; j < length; j++) {int line = circleIndex;int column = circleIndex + j;list.add(matrix[line][column]);i++;}int width = matrix.length - 2 * circleIndex;if (width > 1) {for (int j = 1; j < width; j++) {int line = circleIndex + j;int column = circleIndex + length - 1;list.add(matrix[line][column]);i++;}if (length > 1) {for (int j = length - 2; j >= 0; j--) {int line = circleIndex + width - 1;int column = circleIndex + j;list.add(matrix[line][column]);i++;}for (int j = width - 2; j > 0; j--) {int line = circleIndex + j;int column = circleIndex;list.add(matrix[line][column]);i++;}}}circleIndex++;}return list;}
}
3.提交结果截图

整理完毕,完结撒花~ 🌻
相关文章:
LeetCode(35)螺旋矩阵【矩阵】【中等】
目录 1.题目2.答案3.提交结果截图 链接: 54. 螺旋矩阵 1.题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:…...
BeanUtil.copyProperties的优化与使用(解决copyProperties null值覆盖问题)
BeanUtil.copyProperties的优化与使用 前言一、copyProperties是什么?二、使用步骤1.引入库2.基础使用3.进阶使用4.实用场景 总结 前言 BeanUtil.copyProperties的优化与使用 一、copyProperties是什么? 在java中,我们想要将一个类的值赋值…...
Redis基本操作及使用
📑前言 本文主要是【Redis】——Redis基本操作及使用的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一…...
python 继承父类的变量和方法
[root@zz python]# cat a1.py # !/usr/bin/env python # -*- coding: utf-8 -*- class AddrBookEntry(object): ##类定义 def __init__(self,a,b): ##定义构造器 self.var1=a+9 self.var2=b+11 def updatePhone(self, num): # 定义方法 sel…...
ubuntu22.04新机使用(换源,下载软件,安装显卡驱动,锁屏长亮)
换源 国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。推荐使用中科大源,快得很。 /etc/apt/sources.list编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前…...
如何给shopify的网址做301跳转
很多shopify的运营者或者推广者由于缺货或者货物变更,又或者自己更换了使用的主题,导致自己的URL结构发生了变化,由于不想浪费掉自己原有URL 的流量,就想做个301跳转,让自己新的网址来承接原有的流量。接下来给大家介绍…...
Redis之秒杀系统
目录 Redis 秒杀 Mysql数据库设计 Mysql秒杀实现 MysqlRedis秒杀实现 秒杀是一种高并发场景,通常指的是在短时间内(秒级别)有大量用户同时访问某个商品或服务,争相抢购的情景。在这种情况下,系统需要处理大量并发请…...
c++基础----new
c基础----new 在C中,new是一个运算符,用于动态分配内存并返回指向该内存的指针。它可以用于创建单个对象、数组以及动态分配的对象。 下面是new的几种常见用法: 动态分配单个对象: int* ptr new int; // 动态分配一个int类型…...
Java中的mysql——面试题+答案(存储过程,外键,隔离级别,性能优化)——第23期
当涉及MySQL时,面试题的范围可以涵盖数据库设计、优化、复制、分片等方面。 什么是数据库范式?为什么要遵循数据库范式? 答案: 数据库范式是一组规范,用于设计关系数据库表的结构,以减少数据冗余和提高数据…...
一种新的基于物理的AlGaN/GaN HFET紧凑模型
标题:A new physics-based compact model for AlGaN/GaN HFETs (IEEE MTT-S International Microwave Symposium) 摘要 摘要 - 针对AlGaN/GaN HFET,提出了一种无拟合参数的物理解析模型。对于非饱和操作,建立了两个接入区和栅极下方I-V特性的…...
uniapp基础-教程之HBuilderX基础常识篇02
uniapp创建项目时属性多为vue后缀;其中每个文件中都包含了三段式结构分别是template;script;style形势,分别是前端显示的画面以及js和css样式。 template:说大白话就是给别人看的,我们打开页面就可以看到的…...
如何源码编译seaTunnel
如何源码编译seaTunnel 参考Set Up Develop Environment 编译前准备 下列软件需要提前安装好 GitJava ( JDK8/JDK11) 并设置JAVA_HOME 环境变量Scala (只支持 scala 2.11.12 )JetBrains IDEA . 下载源码并编译 git clone gitgithub.com:apache/seatunnel.git cd seatunne…...
msng病毒分析
这是一个非常古老的文件夹病毒,使用XP系统的文件夹图标,采用VB语言开发,使用了一种自定义的壳来保护,会打开网址http://www.OpenClose.ir,通过软盘、U盘和共享目录进行传播,会在U盘所有的目录下生成自身的副本…...
Unity安装
DAY1 下载Unity 打开Unity3D官网,下载Unity Hub,管理Unity的软件。链接https://unity.cn/releases (可能需要注册账号,就正常注册登录即可) 如果是新版的hub,可能长下面这个样子,还是英文的,点击圆圈的设…...
【代洋集团特惠好物:80瓦太阳能折叠包】
为您的绿色出行保驾护航!代洋集团倾情推出80瓦太阳能折叠包,为您的户外活动提供清洁、便捷的电力支持。 这款太阳能折叠包采用高效能太阳能板,可折叠设计方便携带,轻松为您解决户外用电问题。80瓦的强大功率,让您在户…...
一致性Hash算法
Hash算法 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。 Hash算法在安全加密领域MD5、SHA等加密算法,数据存储和查找的Hash表等方面均有应用。Hash表的数…...
linux 下如何将/dev/nvme0n1符格式化为空盘符
linux 下如何将/dev/nvme0n1符格式化为空盘符 作者:DPDK开发栏目:公开2023-08-30 03:01254 在Linux下,你可以使用以下步骤将/dev/nvme0n1硬盘格式化为空盘符: 首先,确保你拥有适当的权限。以管理员或root用户身份登录…...
IP地址的最后一位不可以为0或255
说明 通常情况下,IP 地址的最后一位不能为 0 或 255。这是因为这些特定的 IP 地址有特殊用途。 IP 地址的最后一位为 0 通常用作网络地址,表示整个网络的起始地址。IP 地址的最后一位为 255 通常用作广播地址,用于将数据包发送到同一网络中…...
代洋集团:太阳能智能座椅,创新能源的未来篇章
在代洋集团,我们致力于打造一个更绿色,更智能的未来。我们的太阳能智能座椅,就是我们对这一承诺的最新体现。 太阳能智能座椅,一种将绿色能源与智能化完美结合的产品。它利用高效的太阳能电池板,捕获并转化阳光为电能…...
linux服务器安装gitlab
一、安装gitlab sudo yum install curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-servicehttp curl https://packages.gitlab.com/install/repositories/gitla…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
