1. 首页

LeetCode 059. 螺旋矩阵 II

题目描述:

难度:Middle

相关话题:数组

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

示例:

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

思路:

NO.54差不多,一层一层地处理添加到result中。

/**
 * @来源: Javascript中文网 - 前端进阶资源教程 https://www.javascriptc.com/
 * @介绍:一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容
 * @param {number} n
 * @return {number[][]}
 */
var generateMatrix = function(n) {
  let start=0,end=n-1,num=1
  let result=[]
  for(let i=0;i<n;i++){
    result[i]=[]
  }
  while(end>=start){
    let i=start
    while(i<=end)result[start][i++]=num++
    i=start+1
    while(i<=end)result[i++][end]=num++
    i=end-1
    while(i>=start)result[end][i--]=num++
    i=end-1
    while(i>=start+1)result[i--][start]=num++
    start++;end--
  }
  return result
};

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:LeetCode 059. 螺旋矩阵 II

链接:https://www.javascriptc.com/4419.html

« LeetCode 060. 第k个排列
第1篇-Vue.js响应式原理 | Vue.js源码系列»
Flutter 中文教程资源

相关推荐

QR code