/*这道题的可以参照Spiral Matrix的解法,将读取矩阵改为填充
矩阵即可。由于这里是方阵,所以其代码应该会更简单。
方法参考自:https://github.com/soulmachine/leetcode*/
class Solution {
public:
vector<vector<int> > generateMatrix(int n) {
vector<vector<int> > result(n, vector<int>(n));
int start(0), end(n-1);
int count(0); //计数用的变量
while(start < end){
for(int i = start; i < end; ++i) result[start][i] = ++count;
for(int i = start; i < end; ++i) result[i][end] = ++count;
for(int i = end; i > start; --i) result[end][i] = ++count;
for(int i = end; i > start; --i) result[i][start] = ++count;
++start;
--end;
}
if(start == end) result[start][start] = ++count;
return result;
}
};LeetCode之Spiral Matrix II
最新推荐文章于 2022-10-27 12:17:03 发布
本文介绍了一种生成螺旋填充矩阵的方法,该方法基于Spiral Matrix的思路实现,通过迭代地填充矩阵的四条边来完成整个矩阵的填充过程。适用于n×n的方阵。
1149

被折叠的 条评论
为什么被折叠?



