Rust 力扣 - 59. 螺旋矩阵 II

文章目录

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

题目描述

在这里插入图片描述

题解思路

使用一个全局变量current记录当前遍历到的元素的值

我们只需要一圈一圈的从外向内遍历矩阵,每一圈遍历顺序为上边、右边、下边、左边,每遍历完一个元素后current++

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

题解代码

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

题目链接

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

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

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

相关文章

solidity中的继承

1.继承 继承是面向对象编程很重要的组成部分&#xff0c;可以显著减少重复代码。如果把合约看作是对象的话&#xff0c;solidity也是面向对象的编程&#xff0c;也支持继承。 规则 virtual: 父合约中的函数&#xff0c;如果希望子合约重写&#xff0c;需要加上virtual关键字。…

还不会使用MySQL的复合查询?一篇文章快速教会你

使用逻辑运算符 AND 用于同时满足多个条件。OR 用于满足任一条件 SELECT * FROM employees WHERE department Sales AND salary > 50000;从 employees 表中选取所有在 “Sales” 部门工作且薪水高于50,000的员工记录。 子查询 子查询是在一个 SELECT 语句中嵌套另一个 …

AppInventor2能否用网络摄像头画面作为屏幕的背景?

// 视频是否可以作为背景&#xff1f; // 有会员提问&#xff1a;能否用网络摄像头的实时画面作为屏幕的背景&#xff1f;就跟这个一样背景全覆盖&#xff1a; 摄像头画面是一个在线的网站链接视频流。 // 原先思路 // 1、目前原生组件无法直接实现这个功能&#xff0c;屏幕…

显示器接口

不同的显示输出接口支持的分辨率和刷新率各有差异&#xff0c;以下是一些常见接口的概述&#xff1a; 1. HDMI (High-Definition Multimedia Interface) 版本 1.4&#xff1a;支持最大分辨率 4K (3840x2160) 30Hz&#xff0c;1080p 120Hz。版本 2.0&#xff1a;支持最大分辨…

国产操作系统卖疯了!最营收7.84亿,最低1.5亿

最近看各种报道&#xff0c;似乎国产化有提速的绩效&#xff0c;那么既然如此&#xff0c;各个国产操作系统厂商是不是都起飞了呢&#xff1f; 周末闲暇之余&#xff0c;我们来看看各家的营收表现。 银河麒麟2024年1-9月一共卖了多少钱&#xff1f; 前几天中国软件发布了202…

django请求与响应

目录 一、请求Request 利用HTTP协议向服务器传参有几种途径 Django中的QueryDict对象 1> GET属性获取查询字符串Query String 参数 2> POST属性 获取请求体参数 3> META属性 获取请求头数据 4> 其他常用HttpRequest对象属性 二、响应Response 1> HttpR…

深度学习:抑制过拟合

过拟合问题 1.过拟合&#xff1a;当模型在训练数据上表现很好&#xff0c;但在未见过的测试数据上表现较差时&#xff0c;我们称之为过拟合。过拟合通常发生在模型过于复杂&#xff0c;参数过多&#xff0c;或者训练数据量不足的情况下。 2.权重过大&#xff1a;在过拟合的情况…

Python venv创建失败问题

在Ubuntu中&#xff0c;笔者需要创建虚拟环境时失败: python3.11 -m venv env 报错信息如下:Error: Command [****/env/bin/python3.11, -m, ensurepip, --upgrade, --default-pip] returned non-zero exit status 1. 尝试执行一下看看是什么错误: python3.11 -m ensurepip …

CDN加速实战:使用七牛云CDN加速阿里云OSS资源访问

今天是双11搞活动,在阿里云1元注册了个域名,想着在学CDN,想使用CDN做个加速项目,但是阿里的要收费,上网查了下七牛云的不收费,想着将七牛云的CDN结合阿里的DNS做个访问加速,刚好看到了阿里的一个文章,照着改了改,实践成功了。 阿里文章:使用CDN加速OSS资源访问_对象…

Git本地分支更新推送到远程主分支上

本地分支&#xff08;debug&#xff09;开发之前&#xff1a; git pull origin dev&#xff08;主分支&#xff09;git merge 这步merge可能会现异常&#xff1a;error&#xff1a;Merging is not possible because you have ynmerged files&#xff0c;出现冲突文件&#xff…

嵌入式学习——IIC协议

IIC&#xff08;Inter-Integrated Circuit&#xff09;是一种串行通信协议&#xff0c;由飞利浦公司于1980年代提出。它允许多个从设备通过两条线&#xff08;SDA和SCL&#xff09;与一个或多个主设备进行通信。IIC协议是多主、多从的&#xff0c;适合在短距离内的设备间通信。…

Mongodb使用视图连接两个集合

您可以使用 $lookup 为两个集合创建一个视图&#xff0c;然后对该视图运行查询。应用程序可以查询视图&#xff0c;而无需构建或维护复杂的管道。 例子 创建两个样本集合 inventory 和 orders&#xff1a; db.inventory.insertMany( [{ prodId: 100, price: 20, quantity: 1…

spring的自定义注解

在 Spring 中&#xff0c;自定义注解可以帮助我们实现自定义的功能&#xff0c;比如切面逻辑、权限控制、数据校验等。自定义注解通常结合 Spring 的 AOP 或其他功能使用&#xff0c;以增强业务逻辑。下面是创建自定义注解的一般步骤&#xff0c;以及使用示例。 一、创建自定义…

qt QStatusBar详解

1、概述 QStatusBar是Qt框架提供的一个小部件&#xff0c;用于在应用程序窗口底部显示状态信息。它可以显示一些固定的文本和图标&#xff0c;并且可以通过API动态更新显示内容。QStatusBar通常是一个水平的窗口部件&#xff0c;能够显示多行文本内容&#xff0c;非常适合用于…

大型语言模型的运行成本分析

大型语言模型 (LLM) 一直处于生成式 AI 革命的前沿&#xff0c;尤其是自 ChatGPT 出现以来。然而&#xff0c;它们的全部潜力尚未得到释放&#xff0c;而一个重大障碍是成本。将 LLM 纳入应用程序的费用范围从按需用例的几美分到在云环境中托管单个 LLM 实例的每月 20,000 美元…

Spring Boot接收参数的19种方式

Spring Boot是一个强大的框架&#xff0c;允许开发人员通过多种方式接收和处理参数。无论是HTTP请求参数、路径变量&#xff0c;还是请求体中的数据&#xff0c;Spring Boot都能提供灵活的处理方式。本文将介绍19种不同的方式来接收参数。 1. 查询参数&#xff08;Query Param…

Matlab高光谱遥感

原文链接&#xff1a;Matlab高光谱遥感https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247623643&idx5&sne4557ed43728f851140b100f42286988&chksmfa8da23ccdfa2b2a4d795bf4087f672faaa7082d1f52e046616ab7bf196a6eef89ea553d06b1&token1392391660&…

OPENAI官方prompt文档解析

官方文档地址:https://platform.openai.com/docs/guides/gpt-best-practices 文档中文版来源:OpenAI 官方提示工程指南 [译] | 宝玉的分享 (baoyu.io) 1.写清楚说明 如果prompt给的范围十分模糊或是过于宽泛,那么GPT就会开始猜测您想要的内容,从而导致生成的结果偏离预期. …

C++游戏开发

C游戏开发概述 C 是游戏开发中的主要编程语言之一&#xff0c;因其性能、控制和广泛的生态系统而受到开发者的青睐。随着游戏行业的迅速发展&#xff0c;C 被用来构建许多成功的游戏和游戏引擎。本文将深入探讨 C 在游戏开发中的应用&#xff0c;包括基础概念、技术栈、示例代…

共模噪声和差模噪声

电源芯片加上负载和不加负载输出的纹波不一样&#xff0c;不加负载的情况下纹波比较小。 可以测量出DCDC电源的输出电压纹波为100Khz&#xff0c;刚好对应电源芯片的开关频率。可以看到纹波上面有一部分的小噪声&#xff0c;放大后用示波器观察频率为几Mhz。 对付上面的频率比…