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

LeetCode算法题——螺旋矩阵ll

题目描述

给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix 。

示例

在这里插入图片描述

输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]

题解

思路: 将整个过程分解为逐圈填充的过程,每一圈又分为上、右、下、左的填充过程,这里有几个问题需要注意。

  1. 当n为奇数时,中心点需要额外进行填充;
  2. 到执行到下边和左边时,起始位置的值正好是上边和右边的终止位置的值,因此不需要进行初始化;

在这里插入图片描述

总结

  • 初始化一个空矩阵:new Array(n).fill(0).map(() => new Array(n).fill(0))。new Array(n).fill(0): 创建一个元素个数为n,元素值为0的数组; map(() => new Array(n).fill(0)):遍历数组中的元素,用回调函数的返回值替换原数组中的元素。

http://www.kler.cn/a/464629.html

相关文章:

  • 【Go学习】-01-2-常见类型及关键字
  • JAVA类和对象练习
  • 数据安全防护
  • HTML——66.单选框
  • Linux 内核中的 Netlink 机制:内核与用户空间的通信桥梁
  • 代码实战:基于InvSR对视频进行超分辨率重建
  • 35.回车触发事件 C#例子 WPF例子
  • 可由 (5V) 单片机直接驱动的模块
  • Datawhale AI冬令营(第二期)动手学AI Agent--Task3:学Agent工作流搭建,创作进阶Agent
  • 访谈分析方法
  • DRAM 的类型
  • 【大模型系列】Mobile-Agent(2024.04)
  • 【Devops】什么是Devops?(Development+Operations)和运维的区别?
  • Java-多种方法实现多线程计数
  • 常见的 Redis 面试题
  • flux中的缓存
  • 《Vue3实战教程》43:Vue3TypeScript 与选项式 API
  • Java之图书管理系统
  • 单周期CPU电路设计
  • Vue.js 表单验证实战:一个简单的登录页面
  • idea最强ai辅助工具豆包的使用教程
  • 观成科技:伪猎者(APT-C-60)APT组织加密通信分析
  • 港科大开源VideoVAE+,视频重建质量全面超越最新模型
  • Rabbitmq追问
  • 基于微信小程序的面部动作检测系统
  • 几句话分析org.springframework.web.servlet.HandlerMapping体系机构