力扣59.螺旋矩阵II(JavaScript)
方法一:
红色的点为每一圈的起始点
var generateMatrix = function(n) {let x = y = 0; // 起始位置let loop = Math.floor(n/2); // 旋转圈数let mid = Math.floor(n/2); // 中间位置let number = 1; // 控制每一层填充元素个数let count = 1; // 更新填充数字let res = new Array(n).fill(0).map(() => new Array(n).fill(0));while(loop--){let row=y let col=x//左到右,col++for(;col<n+x-number;col++){res[row][col]=count++}//for结束时,col为最大值//上到下,row++for(;row<n+y-number;row++){res[row][col]=count++}//for结束时,row为最大值//从右到左,col--for(col;col>x;col--){res[row][col]=count++}//for结束时,col为最小值//从下到上,row--for(row;row>y;row--){res[row][col]=count++}//for结束时,row为最小值//更新起点x++y++//更新控制每圈填的个数number+=2}//如果n为奇数,最后一圈不成环,只有一个数if(n%2===1){res[mid][mid]=count}return res
};
方法二:
var generateMatrix = function(n) {let count=1let arr = new Array(n).fill(0).map(() => new Array(n).fill(0))let top=0let left=0let right=bottom=n-1while(left<=right&&top<=bottom){for(let col=left;col<=right;col++){arr[top][col]=count++}for(let row=top+1;row<=bottom;row++){arr[row][right]=count++}if(left<right&&top<bottom){for(let col=right-1;col>left;col--){arr[bottom][col]=count++}for(let row=bottom;row>top;row--){arr[row][left]=count++}}top++left++right--bottom--}return arr
};
力扣59.螺旋矩阵II(JavaScript)相关推荐
- 代码随想录算法训练营第二天 | 力扣977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II
代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 977.有序数组的平方 题目链接:有序数组的平方 题目描述: 给你一个按 非递减顺序 排序的整 ...
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
目录 一.今日心得感悟 1.数组从小到大排序 ①冒泡法--时间复杂度:O(nlogn) ②使用排序函数qsort--时间复杂度:O(nlogn) ③两端->中间(双指针法) --时间复杂度:O( ...
- 【代码随想录训练营】【Day02】第一章|数组|977.有序数组的平方|209.长度最小的子数组|59.螺旋矩阵II|总结
977. 有序数组的平方 题目详细:LeetCode.977 解这道题的思路和方法有很多,最简单的方法就是计算出数组中每个元素的平方数,并记录在新数组中,最后对新数组进行排序即可得到答案,但这个方法效 ...
- 代码随想录算法训练营第二天| 977有序数组平方、207最小子数组、59螺旋矩阵II。
977.有序数组的平方 力扣题目链接 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1, ...
- 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]
977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 思路 递增数组,平方后最大值一定在最左侧或者最右侧,可想到– ...
- 代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小子数组、59.螺旋矩阵II、数组总结
目录: 977.有序数组的平方 209.长度最小的子数组 1.暴力输出法 2.滑动窗口法 59.螺旋矩阵II 总结: 今日收获: 977.有序数组的平方 因为是递增且有负数的数组,那么他们的平方如果还 ...
- Leonard代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
第一章数组 (今日任务) 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理 ...
- 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II. 977.有序数组的平方 209. 长度最小的子数组 59. 螺旋矩阵 II 977.有序数组的 ...
- 代码随想录训练营第二天|LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
day2 | LeetCode977.有序数组的平方.209.长度最小的子数组.59.螺旋矩阵II 创建时间: October 13, 2022 3:29 PM 一.今日任务 977.有序数组的平方 ...
最新文章
- 公布硕士论文最新进展一(2007.3.6)
- cisco SMD 配置安装
- Kubernetes 容器网络模型和典型实现
- BJUI验证后弹窗不显示
- 数据结构——HDU1312:Red and Black(DFS)
- C#LeetCode刷题-树状数组
- Python编程实例(4)
- 【Ubuntu18.04】Seetaface6人脸识别部署
- 20191202_k-中心聚类算法和k-mean算法Python实现
- halcon学习和实践(开篇)
- 【UML】UML基础教程(总三篇文章)
- 网站建设的一般原则及网站推广技巧
- codeforces1299C Water Balance
- C# 实验三 面向对象程序设计(一)
- js获取map对象的key和value
- windbg 常用命令
- Hydra暴力破解神器使用教程
- 各国语言缩写-各国语言简称
- badfail@qq.com+java_Java KeeperException.BadArgumentsException方法代码示例
- readelf, nm