算法题每日一练---第65天:螺旋矩阵 II

简介: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素

6.png

一、问题描述


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


题目链接:螺旋矩阵 II


二、题目要求


样例 1

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


样例 2

输入: n = 1
输出: [[1]]


考察

模拟计算
建议用时15~35min


三、问题分析


只不过是第一道题目给你数组,让你输出。第二道题目给你范围,让你输出数组。建议大家先做 螺旋矩阵 I 题目(讲解比较详细),回来再做这一题巩固一下相关的知识。


四、编码实现


classSolution {
public:
vector<vector<int>>generateMatrix(intn) {
intk=1,i,u=0,d=n-1,l=0,r=n-1;//初始化数据,定义上下左右四个方向范围vector<vector<int>>v(n, vector<int>(n));//定义二维数组while(1)//循环判断        {
for(i=l;i<=r;i++) v[u][i]=k++;//l->r方向if(++u>d) break;
for(i=u;i<=d;i++) v[i][r]=k++;//u->d方向if(--r<l) break;
for(i=r;i>=l;i--) v[d][i]=k++;//r->方向if(--d<u) break;
for(i=d;i>=u;i--) v[i][l]=k++;//d->u方向if(++l>r) break;
        }
returnv;
    }
};

五、测试结果36.png

相关文章
|
7月前
|
存储 机器学习/深度学习 算法
【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵
【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵
101 0
|
2月前
|
算法 Java 程序员
【算法每日一练及解题思路】有n级台阶,一次只能上1级或2级,共有多少种走法?
本文深入解析了“爬楼梯问题”,探讨了递归与迭代两种解法,并提供了Java代码实现。通过分析问题本质,帮助读者理解动态规划技巧,提高解决实际编程问题的能力。关键词:Java, 算法, 动态规划, 爬楼梯问题, 递归, 迭代。
112 0
|
7月前
|
算法
|
6月前
|
存储 算法 数据挖掘
python5种算法模拟螺旋、分层填充、递归、迭代、分治实现螺旋矩阵ll【力扣题59】
python5种算法模拟螺旋、分层填充、递归、迭代、分治实现螺旋矩阵ll【力扣题59】
|
6月前
|
存储 算法 数据挖掘
螺旋矩阵 II:从理论到实践的五种算法解析
螺旋矩阵 II:从理论到实践的五种算法解析
|
6月前
|
算法 机器人 数据挖掘
LeetCode题目54:螺旋矩阵【python4种算法实现】
LeetCode题目54:螺旋矩阵【python4种算法实现】
|
算法
代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59. 螺旋矩阵 II
代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59. 螺旋矩阵 II
59 0
|
算法 索引
代码随想录算法训练营第二天 |977.有序数组平方,209.长度最小的字数组,59.螺旋矩阵
代码随想录算法训练营第二天 |977.有序数组平方,209.长度最小的字数组,59.螺旋矩阵
|
算法 索引
代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结
代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结
|
人工智能 算法
【数据结构与算法】数组2:双指针法 & 二分法(螺旋矩阵)
【数据结构与算法】数组2:双指针法 & 二分法(螺旋矩阵)
101 0
下一篇
DataWorks