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

在做题中学习(89):螺旋矩阵

解法:模拟

思路:创建ret数组,用变量标记原矩阵的行数和列数,遍历一个元素就push_back进ret数组,每次遍历完一行或一列,相应行/列数--,进行顺时针螺旋遍历到为0即可。

细节:要有边界条件的判断,因为要保证 rows>0 && cols > 0,while循环中的某次for结束将对应rows-- 到0 / cols--到0,后面再继续就会出问题,解决方法就是再加一层if判断即可。

附上完整代码:

class Solution 
{
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> ret;int rows = matrix.size(),cols = matrix[0].size();int a = 0,b = -1;while(rows > 0 && cols > 0)   {for(int i = 0;i<cols;i++)ret.push_back(matrix[a][++b]);rows--;for(int i = 0;i<rows;i++)ret.push_back(matrix[++a][b]);cols--;if(rows > 0){for(int i = 0;i<cols;i++)ret.push_back(matrix[a][--b]);rows--; }if(cols > 0){for(int i = 0;i<rows;i++)ret.push_back(matrix[--a][b]);cols--;}}return ret;}
};

相关文章:

在做题中学习(89):螺旋矩阵

解法&#xff1a;模拟 思路&#xff1a;创建ret数组&#xff0c;用变量标记原矩阵的行数和列数&#xff0c;遍历一个元素就push_back进ret数组&#xff0c;每次遍历完一行或一列&#xff0c;相应行/列数--&#xff0c;进行顺时针螺旋遍历到为0即可。 细节&#xff1a;要有边界…...

使用EasyExcel和多线程实现高效数据导出

​ 使用EasyExcel和多线程实现高效数据导出 1. 概述 在企业级应用中&#xff0c;数据导出是一个常见的需求。为了提高导出效率&#xff0c;尤其是在处理大量数据时&#xff0c;我们可以结合使用EasyExcel库和多线程技术。本文将详细介绍如何通过EasyExcel和多线程技术实现高…...

rabbitmq五种模式的实现——springboot

rabbitmq五种模式的实现——springboot 基础知识和javase的实现形式可以看我之前的博客 代码地址&#xff1a;https://github.com/9lucifer/rabbitmq4j-learning 一、进行集成 &#xff08;一&#xff09;Spring Boot 集成 RabbitMQ 概述 Spring Boot 提供了对 RabbitMQ 的自…...

每日学习Java之一万个为什么

9.Class <?> class1 Myclass.class 为什么要有通配符&#xff1f;传给谁用的&#xff1f; 首先&#xff0c;这里的class特指某个对象在JVM中的元数据集合。 有普通、接口、数组、基本类型、 void 类型、局部类、匿名类、枚举、注解 1.类型安全&#xff1a;通配符允许…...

寒假学习总结

整个寒假都走在数据结构与算法的路上&#xff0c;深入学习了其中多个板块&#xff0c;刷了一些与之对应的题目&#xff0c;下面来一期总结&#xff08;c&#xff09; &#xff08;emmm&#xff0c;主播在寒假试着去学习了几大语言的语法基础&#xff08;丢丢&#xff09; 如Ja…...

Java Web开发实战与项目——用户认证与授权模块开发

Web应用中&#xff0c;用户认证与授权是至关重要的功能&#xff0c;确保只有合法用户才能访问受保护的资源。Spring Security作为一个强大的安全框架&#xff0c;支持多种认证与授权方式。在本章节中&#xff0c;我们将深入探讨三种常见的用户认证与授权方案&#xff1a;基于To…...

力扣每日一题【算法学习day.129】

前言 ###我做这类文章一个重要的目的还是记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&#xff01;&#xff01;&#xff01; 习题 1.数组列表中的最大距离 题目链接…...

uni-app发起网络请求的三种方式

uni.request(OBJECT) 发起网络请求 具体参数可查看官方文档uni-app data:请求的参数; header&#xff1a;设置请求的 header&#xff0c;header 中不能设置 Referer&#xff1b; method&#xff1a;请求方法&#xff1b; timeout&#xff1a;超时时间&#xff0c;单位 ms&a…...

字节火山云DeepSeek接入教程,支持联网,速度超快。

大家好&#xff0c;我是苍何。 在使用 DeepSeek 官网&#xff0c;实在是卡的我差点学猪叫&#xff0c;于是我一直在寻找替代方案。 要求就 2&#xff1a;满血&#xff0c;速度快。&#xff08;当然能联网更好&#xff09;。 我也一度使用了如硅基流动 API&#xff0c;发现也开…...

C语言指针学习笔记

1. 指针的定义 指针&#xff08;Pointer&#xff09;是存储变量地址的变量。在C语言中&#xff0c;指针是一种非常重要的数据类型&#xff0c;通过指针可以直接访问和操作内存。 2. 指针的声明与初始化 2.1 指针声明 指针变量的声明格式为&#xff1a;数据类型 *指针变量名…...

FreeRTOS-rust 编译分析

目录介绍 FreeRTOS-rust ├── .cargo # 对 cargo 本身的配置 │ └── config.toml ├── Cargo.toml # 对当前工作空间的配置 ├── freertos-cargo-build # 负责对 freertos 源码进行编译 │ ├── Cargo.toml # 对当前 package 进行配置 │ └…...

【解决方法】vite-plugin-svg-icons使用中出现问题[vite] Cannot find package ‘fast-glob‘

问题长这样&#xff1a; 参考文章&#xff1a;https://medium.com/wumeng9028/vite-plugin-svg-icons-error-cannot-find-package-fast-glob-8cb03d19c0ac 解决方法&#xff1a;pnpm add fast-glob -D package.json {"vite-plugin-svg-icons": "2.0.1"…...

[Qt] 使用QUndoStack运行到cmd->isObsolete()崩溃

redo/undo中又push了 崩溃情况崩溃原因解决方法 崩溃情况 在正常调用QUndoStack的redo/undo时&#xff0c;崩溃在了这里 unknown:0 QWidget: Cannot create a QWidget without QApplication. 崩溃原因 在正常调用QUndoStack的redo/undo时&#xff0c;因为自身的逻辑处理&a…...

大白话实战Sentinel

Sentinel是SpringCloudAlibaba提供的用来做服务保护的框架,而服务保护的常见手段就是限流和熔断降级。在大型分布式系统里面,由于微服务众多,所以服务之间的稳定性需要做特别关注,Sentinel的核心包就提供了从多个维度去保护服务稳定的策略,而且这些保护策略都可以连接上Se…...

DL/CV领域常见指标术语(FLOPS/mIoU/混淆矩阵/F1-measure)------一篇入门

1. FLOPS、FLOPs和GFLOPs FLOPS: floating-point operations per second&#xff0c;每秒浮点运算次数&#xff0c;用来衡量硬件性能。 FLOPs&#xff1a;floating point of operations&#xff0c;是浮点运算次数&#xff0c;用来衡量算法、模型的复杂度。 GFLOPS&#xff…...

SprutCAMX16数控软件介绍

SprutCAM X 16 是一款功能强大的CAM&#xff08;计算机辅助制造&#xff09;软件&#xff0c;专为数控机床编程和制造过程优化设计。它广泛应用于机械加工、模具制造、3D打印等领域&#xff0c;支持多轴加工、车铣复合、机器人加工等多种加工方式。以下是SprutCAM X 16的主要特…...

Miniconda + VSCode 的Python环境搭建

目录&#xff1a; 安装 VScode 安装 miniconda 在VScode 使用conda虚拟环境 运行Python程序 1.安装 vscode 编辑器 官网链接&#xff1a;Visual Studio Code - Code Editing. Redefined 下载得到&#xff1a;&#xff0c;双击安装。 安装成功…...

TRELLIS 部署笔记

目录 依赖项安装 kaolin安装&#xff1a; 安装和运行报错解决 u2net.onnx 下载 解决方法&#xff0c;就是自行下载&#xff0c;然后拷贝到目录/root/.u2net bash测试u2net&#xff1a; 报错GaussianRasterizationSettings.__new__() got an unexpected keyword argument…...

深入解析Qt事件循环

在Qt开发中&#xff0c;QApplication::exec()这行代码是每个开发者都熟悉的“魔法咒语”。为什么GUI程序必须调用它才能响应操作&#xff1f;为何耗时操作会导致界面冻结&#xff1f;本文将以事件循环为核心&#xff0c;揭示Qt高效运转的底层逻辑&#xff0c;探讨其设计哲学与最…...

Visual Studio Code 集成 Baidu Comate

文章目录 安装Baidu Comate插件 安装Baidu Comate插件 从左主侧栏中 点击 【扩展】这个图标&#xff0c;然后在上方输入栏中输入 baidu comate —>选中列出的Bai Comate —>点击 【安装】按钮&#xff0c;等待安装完毕…...

Python新闻溯源工具开发:构建信息验证系统与风险提示机制

1. 项目概述&#xff1a;一个为交易者打造的信息“排雷”工具在信息爆炸的时代&#xff0c;尤其是在短线交易这种对时效性要求极高的领域&#xff0c;一条未经证实的消息足以让账户产生剧烈波动。相信很多交易者都遇到过这种情况&#xff1a;某个社群里突然疯传一则“重大利好”…...

7种专业模式:OBS Advanced Timer如何彻底改变直播时间管理体验?

7种专业模式&#xff1a;OBS Advanced Timer如何彻底改变直播时间管理体验&#xff1f; 【免费下载链接】obs-advanced-timer 项目地址: https://gitcode.com/gh_mirrors/ob/obs-advanced-timer 你是否曾在直播过程中手忙脚乱地查看时间&#xff0c;担心超时或错过重要…...

香料香精行业:全球市场格局与中国发展机遇

一、行业概述&#xff1a;从原料到终端的“隐形冠军”香料香精是食品、日化、医药等行业的核心原料&#xff0c;虽用量微小&#xff0c;却直接决定产品的风味与品质。根据功能差异&#xff0c;香料&#xff08;香原料&#xff09;作为基础有机化合物&#xff0c;可通过调配形成…...

避开这些坑!用Stata做双重差分(DID)时最容易出错的5个细节(附正确代码)

避开这些坑&#xff01;用Stata做双重差分(DID)时最容易出错的5个细节&#xff08;附正确代码&#xff09; 当你在深夜盯着Stata跑出的DID结果&#xff0c;发现系数符号与理论预期完全相反时&#xff0c;那种头皮发麻的感觉我太熟悉了。作为处理过上百个DID案例的研究顾问&…...

把友善R2S变成家庭网络中枢:OpenWrt旁路由+Docker部署实战记录

将友善R2S打造为家庭网络中枢&#xff1a;OpenWrt旁路由与Docker实战指南 家里那台巴掌大的友善R2S开发板&#xff0c;自从刷入OpenWrt后就一直默默充当着主路由的角色。直到上个月宽带升级时&#xff0c;我突然意识到这个双千兆小钢炮的潜力远未被充分挖掘——它完全能成为集智…...

可拓浏览器:给手机浏览器装上“外挂“!2W+拓展+AI搜索,玩出无限可能!

用手机浏览器&#xff0c;你是不是也受够了这些憋屈——想装个广告拦截插件&#xff0c;结果系统提示"不支持"&#xff1b;想同步电脑上的油猴脚本&#xff0c;发现压根没入口&#xff1b;看视频想倍速播放&#xff0c;平台只给2倍速还收费&#xff1b;更别说什么新拟…...

2026年项目管理工具推荐!这6款主流软件值得试试​

2026 年&#xff0c;企业数字化协作全面普及&#xff0c;远程办公、跨部门联动、多项目并行已成为团队工作常态。但多数企业仍深陷项目管理困境&#xff1a;任务分工模糊导致相互推诿、进度全靠口头同步频繁遗漏、风险爆发后才被动补救、文档散落在聊天记录与网盘中难以追溯………...

同态加密中多输入密文乘法的优化技术与硬件实现

1. 同态加密与密文乘法基础同态加密&#xff08;Homomorphic Encryption, HE&#xff09;技术允许在加密数据上直接进行计算操作&#xff0c;而无需事先解密。这项技术为云计算、医疗数据分析等需要隐私保护的场景提供了革命性的解决方案。在众多同态加密方案中&#xff0c;RNS…...

如何5分钟实现GitHub界面完整汉化:开发者必备的高效本地化方案

如何5分钟实现GitHub界面完整汉化&#xff1a;开发者必备的高效本地化方案 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 对于中文开…...

Modbus RTU通信避坑指南:从零封装你的CRC校验函数(附可直接调用的C代码)

Modbus RTU通信避坑指南&#xff1a;从零封装你的CRC校验函数&#xff08;附可直接调用的C代码&#xff09; 当RS-485硬件调试完成后&#xff0c;真正的挑战才刚刚开始。我曾在一个工业自动化项目中&#xff0c;花了整整三天时间排查为什么Modbus RTU通信总是失败——硬件线路正…...