leetcode 59. 螺旋矩阵 II(递归)
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1:
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
解题思路
按层进行数字的填充,每一层都按四条边的位置依次填充
代码
class Solution {int z=1;public int[][] generateMatrix(int n) {int[][] matrix = new int[n][n];int r=matrix.length,c=matrix.length,x=0,y=0;put(r,c,x,y,matrix);return matrix;}public void put (int r,int c,int x,int y,int[][] matrix){if(r<=0||c<=0) return;//矩阵有偶数层if(r==1)//矩阵有奇数层,最后一层只有一个元素{ matrix[y][x]=z;return;}for (int i=x;i<x+c;i++)matrix[y][i]=z++;for (int i=y+1;i<y+r-1;i++)matrix[i][x+c-1]=z++;for (int i=x+c-1;i>=x;i--)matrix[y+r-1][i]=z++;for (int i=y+r-2;i>y;i--)matrix[i][x]=z++;put(r-2,c-2,x+1,y+1,matrix);}
}
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 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 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(),但是觉得直接用不好,也忘 ...
最新文章
- ubuntu14.04上搭建android开发环境
- mysql导入csv文件
- Eclipse中启动tomcat报错:A child container failed during start
- Spring+Quartz实现定时执行任务的配置
- 【CTF WEB】反序列化
- live555抓包实例
- redis学习-列表(list)常用命令
- matlab运动前无轨迹线,matlab 前轮前驱运动模型公式 和 轨迹仿真
- 梦断代码读后感(一)
- poj 2409 Let it Bead Polya计数
- thrift java 对象_Apache Thrift,Java:对象数据类型
- 应用SqlParameter防止注入式攻击,打开主窗体关闭登录窗体
- 让惊艳无处不在 Win7桌面便签操作技巧
- 时光倒流软件测试简历,时光倒流 28款数据恢复软件大比拼
- Android布局——小米便签编辑界面xml
- c语言中until的用法,until的用法总结
- 什么是SaaS模式 - SaaS模式的视频会议系统
- vue3 watch 异步方法
- kali全版本镜像下载地址
- 中国象棋局面识别 -3. 棋谱字符串生成