《每日一题》59. 螺旋矩阵 II
发布日期:2022-03-18 05:04:17 浏览次数:5 分类:技术文章

本文共 861 字,大约阅读时间需要 2 分钟。

关键:

1.确定区间,左闭右闭,每一次循环的边界确定

2.找到差别(奇数和偶数)

3.确定终止条件

class Solution {public:    vector
> generateMatrix(int n) { int sx = 0, sy = 0; vector
> mtr(n,vector
(n,0)); int loop = n / 2;//循环次数 int i,j; int k = 1;//移动次数 int count = 0; while (loop--){ i = sx; j = sy; for (j = sy; j < sy + n - k; j++) //向→ mtr[i][j] = ++count; for (i = sx; i < sx + n - k; i++) //向↓ mtr[i][j] = ++count; for (; j > sy; j--) mtr[i][j] = ++count; for (; i > sx; i--) mtr[i][j] = ++count; sx += 1; sy += 1; k += 2; } if (n % 2 ==1) mtr[n / 2][n / 2] =n*n; return mtr; }};

转载地址:https://blog.csdn.net/qq_40911499/article/details/123442937 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:《每日一题》34. 在排序数组中查找元素的第一个和最后一个位置
下一篇:《Leetcode》链表-学习

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月17日 18时06分15秒