LeetCode(59):螺旋矩阵 II
Medium!
题目描述:
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3 输出: [[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ] ]
解题思路:
此题跟之前那道 Spiral Matrix 螺旋矩阵 本质上没什么区别,就相当于个类似逆运算的过程,这道题是要按螺旋的顺序来填数,由于给定矩形是个正方形,我们计算环数时用n / 2来计算,若n为奇数时,此时最中间的那个点没有被算在环数里,所以最后需要单独赋值,下标转换问题是难点,可以参考之前 Spiral Matrix 螺旋矩阵 的讲解来转换下标。
C++解法一:
1 class Solution { 2 public: 3 vector<vector<int> > generateMatrix(int n) { 4 vector<vector<int> > res(n, vector<int>(n, 1)); 5 int val = 1, p = n; 6 for (int i = 0; i < n / 2; ++i, p -= 2) { 7 for (int col = i; col < i + p; ++col) 8 res[i][col] = val++; 9 for (int row = i + 1; row < i + p; ++row) 10 res[row][i + p - 1] = val++; 11 for (int col = i + p - 2; col >= i; --col) 12 res[i + p - 1][col] = val++; 13 for (int row = i + p - 2; row > i; --row) 14 res[row][i] = val++; 15 } 16 if (n % 2 != 0) res[n / 2][n / 2] = val; 17 return res; 18 } 19 };
转载于:https://www.cnblogs.com/ariel-dreamland/p/9149435.html
LeetCode(59):螺旋矩阵 II相关推荐
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、LeetCode 209.长度最小的子数组、LeetCode 59.螺旋矩阵II
LeetCode 977.有序数组的平方 双指针法:数组其实是有序的, 只不过负数平方之后可能成为最大数了.那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间.此时可以考虑双指针法 ...
- LeetCode 59. 螺旋矩阵 II LeetCode 54. 螺旋矩阵
文章目录 1. 题目信息 2. LeetCode 59 解题 3. LeetCode 54. 螺旋矩阵 4.<剑指Offer>面试题29 1. 题目信息 给定一个正整数 n,生成一个包含 ...
- LeetCode 59. 螺旋矩阵 II
和54.螺旋矩阵 类似 public static int[][] generateMatrix(int n) {int[][] a = new int[n][n];if(n<1)return ...
- Leetcode 59. 螺旋矩阵 II (每日一题 20210926)
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix .示例 1:输入:n = 3 输出:[[1,2,3],[8,9,4],[ ...
- leetcode 59. 螺旋矩阵 II(递归)
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4] ...
- leetcode —— 59. 螺旋矩阵 II
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, ...
- LeetCode 59. 螺旋矩阵 II(python、c++)
题目描述 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7 ...
- LeetCode 59. 螺旋矩阵 II [水题+简单模拟]
前言: 最近要准备硕士研究生入学复试,还要机试,所以又开始刷一些题了. 太久没刷题了,本来就菜,现在变得更菜了-- 题面: 吐槽:题目来自LeetCode,难度标识为"中等",有点 ...
- 2022-7-8 Leetcode 59.螺旋矩阵 II
class Solution {public:vector<vector<int>> generateMatrix(int n) {vector<vector<in ...
- 代码随想录算法训练营第二天|leetcode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
leetcode 977.有序数组的平方 想到昨天写的双指针,十分刻意用了一下,感觉还是比较生疏,还得加强练习和思考,然后发现还需要排序,想到了vector的排序sort(),但是觉得直接用不好,也忘 ...
最新文章
- 发新款电池!成本降低14%,特斯拉会继续降价吗?
- SVG(网页加载显示的加载进度动态图)
- 一个持续6年的针对多国政府机构的网络间谍活动 — “美人鱼行动”
- ul li前面的点怎么变大_硅片尺寸变大,生产成本降低,光伏电池生产商转向更大尺寸硅片...
- 实现销售榜单下载功能
- moead算法流程步骤_算法——抓住程序的灵魂
- 父母该不该把自己的收入告诉孩子?
- Linux下TCP循环接收数据的方式
- junit框架——单元测试
- 限制文本框只能输入数字
- JmeterTCP返回响应码500
- IDEA导入MySQL驱动包(Mac版)
- vue3仿网易云移动应用
- HTML5基础与Meta http-equiv属性详解
- IT资产管理系统Snipe-IT使用docker安装记录
- Excel文件解析性能对比(POI,easyexcel,xlsx-streamer)
- 测试最常见的21个故障模型
- 2022中国消费者洞察
- 社区专家谈 12306 1
- 农村土地确权之数据入库 —— 国源软件数据入库说明[多档案入库]
热门文章
- live555学习之基本类介绍及计划任务深度探讨
- 完美解决office2013 错误1402
- centos下 安装jdk
- WPF学习笔记——在“System.Windows.StaticResourceExtension”上提供值时引发了异常
- 用openssh下的sftp通过chroot控制用户
- Snowflake Snow Snowflakes--POJ 3349
- 关于线程堆栈大小的注意事项-转
- Mysql utf8 和utf8mb4 的区别
- [Python] L1-053 电子汪-PAT团体程序设计天梯赛GPLT
- 戴明理论、朱兰理论、克鲁斯比理论和田口玄一理论