力扣--59.螺旋矩阵II

news/2025/1/17 22:01:45/文章来源:https://www.cnblogs.com/zx618/p/18339449

 

 

模拟顺时针画矩阵的过程:

  • 填充上行从左到右
  • 填充右列从上到下
  • 填充下行从右到左
  • 填充左列从下到上

由外向内一圈一圈这么画下去

/*** 生成一个包含从1到n*n的数字的矩阵* @param {number} n - 矩阵的大小,为正整数* @return {number[][]} - 返回一个n x n的二维数组,数组中的每个元素为从1到n*n的递增数字*/
var generateMatrix = function (n) {
let matrix = new Array(n);for (let i = 0; i < n; i++) {matrix[i] = new Array(n).fill(0);}let top = 0, bottom = n - 1, left = 0, right = n - 1;let direction = [[-1, 0], [0, 1], [1, 0], [0, -1]]; // 上、右、下、左四个方向let index = 0;while (top <= bottom && left <= right) {// 沿着当前方向遍历边界for (let i = left; i <= right; i++) {matrix[top][i] = ++index;}top++;for (let i = top; i <= bottom; i++) {matrix[i][right] = ++index;}right--;if (top <= bottom) {for (let i = right; i >= left; i--) {matrix[bottom][i] = ++index;}bottom--;}if (left <= right) {for (let i = bottom; i >= top; i--) {matrix[i][left] = ++index;}left++;}}return matrix;
};

 

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

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

相关文章

轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置

本文详细介绍了在 CentOS 和 Ubuntu 系统上安装 Nginx 的全过程,包括下载方法、安装步骤、配置开机自启以及基础配置等重要内容,还提供了常见问题的解决方案和优化配置示例,助您顺利搭建高效的服务器环境。注:这是对我以前博客进行优化后再次发布的,博客中的截图为以前的。…

mfc用printf输出调试信息到终端cmd

前言全局说明mfc用printf输出调试信息到终端cmd一、说明 环境: Windows 11 家庭版 23H2 22631.3737 VS2013二、printf 打印调试信息 2.1 设置启用 控制台 打印 2.1.1 打开解决方案(项目)-- 属性2.1.2 配置属性 -> 生成事件 -> 后期生成事件 -> 命令行 -> 编辑 在…

更改element-ul的表格底部滚动条

/* 确保表格容器有足够的高度 */ ::v-deep .el-table .el-table__fixed{overflow: hidden;height:auto !important;bottom:20px !important; }/* 普通列的滚动条样式 */ ::v-deep .el-table__body-wrapper {padding-bottom: 10px; /* 调整底部 padding */ }::v-deep .el-table_…

【VMware VCF】VMware Cloud Foundation Part 06:部署 VI 工作负载域。

VMware Cloud Foundation 标准架构中,管理域和 VI 工作负载域需要分开部署,管理域是初始构建(Bring-up)中部署的一个工作负载域并且只有一个,管理域专门用于承载管理相关组件虚拟机。之前文章(VMware Cloud Foundation Part 05:部署 SDDC 管理域。)已经完成了管理域的相…

一次函数杂谈

update 2024.7.25 更改内容 update 2024.8.1 更改内容+图床更改4.一次函数 4.1 函数的认识函数的定义:一般地,如果在一个变化过程中有两个变量 \(x\) 和 \(y\) ,并且对于变量 \(x\) 的每一个值,变量 \(y\) 者都有唯一的值与它对应,那么我们称 \(y\) 是 \(x\) 的函数,其中…

(PSM) 认证培训课程:精通Scrum,提升项目管理技能

Professional Scrum Master (PSM) 官方认证培训班:掌握Scrum,提升项目管理能力​ 在快速变化的商业环境中,高效的项目管理和团队协作是企业成功的关键。作为一种广泛认可的敏捷框架,Scrum已成为推动项目成功和提高团队效率的重要工具。为了帮助专业人士掌握Scrum方法和实践…

万字干货:从消息流平台Serverless之路,看Serverless标准演进

摘要:如今,Serverless化已经成为消息流平台发展的新趋势,而如何更好地基于Serverless化的消息流平台进行应用设计和开发,则成为了一个值得思考的问题。 本文分享自华为云社区《9000字干货:从消息流平台Serverless之路,看Serverless标准演进》,作者:华为云PaaS服务小智。…

我的CSP、NOIP笔记随笔

我的CSP、NOIP笔记随笔 零碎知识prim kruskal dijkstra 使用贪心思想斐波那契数列结论:\(\Sigma_{i=1}^{n}f(i)=f(n+2)-1\)有些函数有单调性(单调递增或单调递减)双指针法:用两个变量指向两个位置,要tail++,不要前面丢掉组合数递推公式:\(C_m^n=C_m^{n-1}+C_{m-1}^{n-1}\…

Zotero文献题录和附件如何导入到NoteExpress?

首先,我的zotero中有一堆的文献题目和pdf,需要把它们(包括PDF)都导出到NE中;第二步,选中我要导出到文献,右键点击export Items;选择RIS格式,只要是两个软件同时支持的格式都行;(把条目和论文PDF附件都勾选上)选择路径,点击ok,就会得到这样一个文件夹;文件夹中有…

面试官:你的项目有哪些难点?

项目难点是指在项目执行过程中遇到的具有挑战性、复杂性或不确定性的问题和障碍,这些问题可能会影响项目的进度、质量、成本和目标的实现。 我这里提供一些比较常见的难点问题:具体来说。 1.技术难题 常见的技术难题和解决方案有以下这些:高并发请求问题:在一个短时间内有大…

Csharp Winform 流程图

最近发现不少网页在找Winform开发的流程,我也找了找,发现网上不少都是其他语言开发的,近期闲来没事,就用winform写了个练练手。