当前位置: 首页 > news >正文

leetcode日记(47)螺旋矩阵Ⅱ

这题思路不难,就是找规律太难了。

我首先的思路是一行一行来,根据规律填入下一行的数组,第i行是由前i个数字+(n-2*i)个增序数列+后i个数字组成,后来觉得太难找规律了就换了一种思路。

思路大致是先计算出需要循环的次数((n-1)/2),通过一个循环由外到里依次填入数字,每次填入都要调用四个独立循环,→↓←↑这样填入:

class Solution {
public:vector<vector<int>> generateMatrix(int n) {vector<int> v(n,n*n);vector<vector<int>> result(n,v);int m=(n+1)/2;int j=0;int t=0;n--;while(m>0){int i=0;for(i;i<n;i++) result[t][t+i]=i+j+1;for(i;i<n*2;i++) result[i-n+t][n+t]=i+j+1;for(i;i<n*3;i++) result[n+t][3*n-i+t]=i+j+1;for(i;i<n*4;i++) result[4*n-i+t][t]=i+j+1;t++;n-=2;j+=i;m--;}return result;}
};

这里以为太绕了所以定义了很多数字,m代表还需要循环嵌套m次,t代表当前在嵌套第t次,j代表新的循环从j开始计数,n代表每次循环正方形的边长-1,其实有些好像可以不要的。

http://www.lryc.cn/news/405804.html

相关文章:

  • centos系统mysql主从复制(一主一从)
  • IEDA怎么把springboot项目 启动多个
  • Vue 3项目安装Element-Plus
  • Git下载安装
  • linux中的目录操作函数
  • JSON 文件第一段飘红
  • go使用gjson操作json数据
  • Mac 下华为鸿蒙 :DevEco Studio 开发工具下载
  • C进阶—动态内存管理
  • QT表格显示MYSQL数据库源码分析(七)
  • excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出
  • 探索前后端数据传输模式:Java、Go与Python的实践20240719
  • 【YashanDB知识库】yac修改参数后关闭数据库hang住
  • 提升网站性能:ThinkPHP6中如何实现Mysql分页查询
  • Python:Flask自定义URL路由参数过滤器
  • 闭包与装饰器
  • DNS服务器的搭建
  • 【JavaScript】点击穿透
  • [Linux]Mysql之主从同步
  • DAY21-二叉树
  • java面试-场景题
  • 【TORCH】matplotlib绘制一条横线的两种方法
  • 深入浅出mediasoup—WebRtcTransport
  • 如何让局域网中的其他电脑访问VMWare虚拟机上的Windows虚拟系统
  • 旧电脑回收前怎么清除数据
  • python——TinyDB
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十八章 驱动模块编译进内核
  • Mailspring搭建安装教程:打造个性邮件体验
  • 【分布式锁】Redission实现分布式锁
  • UE4/5 对话系统