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

wordpress 文章同步微信常州百度网站排名优化

wordpress 文章同步微信,常州百度网站排名优化,苏州知名网站制作公司,淘宝网站基础建设 托管题目描述 给你一个正整数 n #xff0c;生成一个包含 1 到 n2 所有元素#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1#xff1a; 输入#xff1a; n 3 输出#xff1a; [[1,2,3],[8,9,4],[7,6,5]]示例 2#xff1a; 输入#xff1a…题目描述 给你一个正整数 n 生成一个包含 1 到 n2 所有元素且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1 输入 n 3 输出 [[1,2,3],[8,9,4],[7,6,5]]示例 2 输入 n 1 输出 [[1]]提示 1 n 20 分析解答 思路 初始化一个 n×n 的矩阵用 0 填充表示未填充的位置。 定义边界top、bottom、left 和 right分别代表当前矩阵的上、下、左、右边界。 用一个变量 num 记录当前要填入的数字从 1 开始。 按照顺时针方向填充矩阵具体顺序为 从左到右填充顶部行然后将 top 边界向下移动。从上到下填充右侧列然后将 right 边界向左移动。从右到左填充底部行然后将 bottom 边界向上移动。从下到上填充左侧列然后将 left 边界向右移动。 重复上述步骤直到填满所有位置。 /*** param {number} n* return {number[][]}*/ const generateMatrix function(n) {const matrix Array.from({ length: n }, () Array(n).fill(0));let top 0, bottom n - 1;let left 0, right n - 1;let num 1;while (num n * n) {// 从左到右填充for (let i left; i right; i) {matrix[top][i] num;}top;// 从上到下填充for (let i top; i bottom; i) {matrix[i][right] num;}right--;// 从右到左填充if (top bottom) {for (let i right; i left; i--) {matrix[bottom][i] num;}bottom--;}// 从下到上填充if (left right) {for (let i bottom; i top; i--) {matrix[i][left] num;}left;}}return matrix; };思路拓展 螺旋矩阵相关的问题都可以通过一层一层遍历通过一行一列、一行一列的顺序处理每个元素。 而且遍历过程中一定有一个规律就是总有一个坐标是不变的而另一个坐标在变。 解决螺旋矩阵题目时可以总结出一些通用的解题方法和步骤。这些方法适用于填充矩阵或读取矩阵元素的螺旋顺序。 类似的题型见螺旋矩阵 通用方法总结 定义边界变量 使用 top、bottom、left 和 right 四个变量来表示当前矩阵的边界。top 表示当前未填充区域的最上边行索引bottom 表示最下边行索引。left 表示未填充区域的最左边列索引right 表示最右边列索引。这些边界变量随着螺旋填充或遍历逐渐收缩直到遍历完成整个矩阵。 按照顺时针方向遍历或填充 按照顺时针的顺序进行从左到右填充 top 行从上到下填充 right 列从右到左填充 bottom 行从下到上填充 left 列。每次填充后相应地缩小边界如 top、bottom--、left、right--。 边界条件判断 在每次填充新的行或列之前判断当前的 top bottom 和 left right确保当前边界仍然有效防止重复填充或越界。这些判断可以避免在矩阵维度不对称时如奇数维度矩阵多次填充同一行或列。 循环控制条件 通常使用一个 while 循环当填充的数字还未达到矩阵总数 ( n^2 ) 时继续循环。如果是读取矩阵中的元素循环直到所有元素都遍历完。 解决螺旋矩阵问题的通用步骤 初始化矩阵和边界变量 创建一个合适大小的矩阵用来存放填充结果。初始化 top、bottom、left 和 right。 进行螺旋顺序填充或读取 按照顺时针顺序进行从左到右从上到下从右到左从下到上。每次填充或读取后收缩相应的边界。 更新填充条件和检查边界 进行边界检查确保没有重复填充。 返回结果 返回填充完的矩阵或者返回读取顺序得到的结果。 注意事项 边界条件的处理确保在每次改变边界时进行有效的判断避免多次填充同一行或列。初始化矩阵大小根据题目的输入大小 ( n ) 确保矩阵初始化正确。边界收缩顺序每次遍历结束后适时更新 top、bottom、left 和 right 的值。
http://www.eeditor.cn/news/124703/

相关文章:

  • 如何在网站上做抽奖系统国内免费视频素材无水印素材网站
  • 惠州品牌网站建设公司哪里有网站建设中代码
  • 铁岭网站制作nginx wordpress出错
  • 让医院做网站的策划书asp网站管理系统破解版
  • 网站优化怎么做外链郑州做网站hnqfu
  • 无锡做网站设计的企业购买手机网站推荐
  • 免费APP 微信 网站平台阿里巴巴网站开发
  • 网站响应式和电脑手机php订餐网站开发文献
  • 莱芜网站制作公司明星 卡片网站该怎么做
  • 手机推广软文seo推广优化的方法
  • 濮阳做网站设计wordpress 在裁剪您的图像时发生了错误.
  • 大连住建局官网网站福州网站建设设计公司
  • 安卓做视频网站凡科网可以自己做网站吗
  • 什么网站能买建设摩托车贵阳住房和城乡建设局网站
  • 免费英文建设网站怎样申请网站域名
  • 网站js修改头像代码东莞网站开发营销
  • 网站建设征求意见稿做企业网站需要买什么资料
  • 导航网站怎么赚钱营口pc网站开发
  • 建立网站怎么赚钱网站建设的总体目标
  • 新建网站求友链平台最近中文字幕高清字幕mv
  • 深圳营销型网站建设免费珠海有什么好的互联网公司
  • 微网站访问量四川鸿业建设集团网站
  • php网站添加验证码为什么要做企业官网
  • 网站开发背景400字做新零售这些注册网站和找货源
  • 网站开发软件开发怎么样做网站的企业文化怎么写
  • 免费网站建设免费咨询全校网站建设与管理
  • 珠海专业医疗网站建设黄桃图片友情链接
  • 温岭网站开发网页制作与前端开发
  • 网站建设收费标准报价西安做网站公司哪家好 应该怎么选择
  • 公司网站如何做水印建设隔离变压器移动网站