LeetCode 885. 螺旋矩阵 III
1. 题目
在 R 行 C 列的矩阵上,我们从 (r0, c0) 面朝东面开始
这里,网格的西北角位于第一行第一列,网格的东南角位于最后一行最后一列。
现在,我们以顺时针按螺旋状行走,访问此网格中的每个位置。
每当我们移动到网格的边界之外时,我们会继续在网格之外行走(但稍后可能会返回到网格边界)。
最终,我们到过网格的所有 R * C 个空间。
按照访问顺序返回表示网格位置的坐标列表。
示例 1:
输入:R = 1, C = 4, r0 = 0, c0 = 0
输出:[[0,0],[0,1],[0,2],[0,3]]
示例 2:
输入:R = 5, C = 6, r0 = 1, c0 = 4
输出:[[1,4],[1,5],[2,5],[2,4],[2,3],[1,3],[0,3],[0,4],[0,5],
[3,5],[3,4],[3,3],[3,2],[2,2],[1,2],[0,2],[4,5],[4,4],[4,3],
[4,2],[4,1],[3,1],[2,1],[1,1],[0,1],[4,0],[3,0],[2,0],[1,0],[0,0]]
提示:
1 <= R <= 100
1 <= C <= 100
0 <= r0 < R
0 <= c0 < C
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/spiral-matrix-iii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
类似题目:LeetCode 59. 螺旋矩阵 II && LeetCode 54. 螺旋矩阵
- 走动的步长每两个方向增加一步,方向每次都换
class Solution {public:vector<vector<int>> spiralMatrixIII(int R, int C, int r0, int c0) {vector<vector<int>> dir = {{0,1},{1,0},{0,-1},{-1,0}};int steps = 1, step, count = 1, k = 0, delta = 0;vector<vector<int>> ans = {{r0,c0}};//初始为1个while(count < R*C){step = steps;//步长while(step--){r0 += dir[k][0];c0 += dir[k][1];if(r0>=0&& r0<R && c0>=0&&c0<C){ans.push_back({r0,c0});// cout << r0 << " " << c0 << endl;count++;}}k = (k+1)%4;//换方向delta++;if(delta%2==0){delta = 0;steps++;//每两次增加步长1格}}return ans;}
};
48 ms 12.4 MB
LeetCode 885. 螺旋矩阵 III相关推荐
- 885. 螺旋矩阵 III
在 R 行 C 列的矩阵上,我们从 (r0, c0) 面朝东面开始 这里,网格的西北角位于第一行第一列,网格的东南角位于最后一行最后一列. 现在,我们以顺时针按螺旋状行走,访问此网格中的每个位置. 每 ...
- LeetCode 59. 螺旋矩阵 II LeetCode 54. 螺旋矩阵
文章目录 1. 题目信息 2. LeetCode 59 解题 3. LeetCode 54. 螺旋矩阵 4.<剑指Offer>面试题29 1. 题目信息 给定一个正整数 n,生成一个包含 ...
- LeetCode:螺旋矩阵【54】
LeetCode:螺旋矩阵[54] 题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [[ 1, 2, 3 ],[ ...
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、LeetCode 209.长度最小的子数组、LeetCode 59.螺旋矩阵II
LeetCode 977.有序数组的平方 双指针法:数组其实是有序的, 只不过负数平方之后可能成为最大数了.那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间.此时可以考虑双指针法 ...
- 螺旋矩阵c++语言_一起刷 leetcode 之螺旋矩阵(头条和美团真题)
微信公众号:每天晒白牙 关注可了解更多编程知识.问题或建议,请公众号留言;如果你觉得文章对你有帮助,欢迎关注与转发 题目描述 给定一个包含 m*n 个元素的矩阵(m 行,n 列),请按顺时针螺旋顺序, ...
- LeetCode 54.螺旋矩阵 - 原地修改
[LetMeFly]54.螺旋矩阵 - 原地修改 力扣题目链接:https://leetcode.cn/problems/spiral-matrix/ 给你一个 m行 n列的矩阵 matrix,请按照 ...
- LeetCode 59. 螺旋矩阵 II
和54.螺旋矩阵 类似 public static int[][] generateMatrix(int n) {int[][] a = new int[n][n];if(n<1)return ...
- Java实现 LeetCode 54 螺旋矩阵
54. 螺旋矩阵 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], ...
- leetcode_885. 螺旋矩阵 III
目录 一.题目内容 二.解题思路 三.代码 一.题目内容 在 R 行 C 列的矩阵上,我们从 (r0, c0) 面朝东面开始 这里,网格的西北角位于第一行第一列,网格的东南角位于最后一行最后一列. 现 ...
最新文章
- lattice diamond 3.7安装破解
- 设计模式 - Iterator(迭代器)
- struct 类型指针技巧
- 群晖使用Linux命令,群晖常用指令
- 多亏了Google相册,如何一键释放Android手机上的空间
- checkbox 选中_纯CSS修改checkbox复选框样式
- Hive - Create TableDrop Table ALTER Table(中)
- window.open打开页面并传值,window. location.search遍历获取到的请求链接中的所有参数
- 如何在Web App Project 或者 Web Site Project的App_Code 内使用 Profile/ProfileCommon
- 5G时代下的移动边缘计算(MEC)探索系列之三
- 《循序渐进Oracle:数据库管理、优化与备份恢复》一一1.5 案例与实践分析 ...
- win7连接xp共享打印机方法
- Java 泛型 <? super T> <? extend T> 的通俗理解
- SDH与SONET(整理)
- 汇编语言 王爽第二版 总结
- 批量修改Excel中的图片大小方法
- Nginx基础应用——日志切割
- 【0173】推荐6款最好使用的PostgreSQL GUI工具
- TypeScript后端http请求
- 采用ImageJ+插件批量转换透射电镜ser图像