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

在做题中学习(90):螺旋矩阵II

解法:模拟

思路:创建相同大小的一个二维数组(矩阵),用变量标记原矩阵的行数和列数,每次遍历完一行或一列,相应行/列数--,进行对应位置的赋值即可。此题是正方形矩阵,因此不像螺旋矩阵I需要边界判断。

附上完整代码:

class Solution 
{
public:
    vector<vector<int>> generateMatrix(int n) 
    {
        vector<vector<int>> ret(n,vector<int>(n));
        int rows = n,cols = n;
        int a = 0,b = -1,c = 1;
        while(rows > 0 && cols > 0)
        {
            for(int i = 0;i<cols;i++)
                ret[a][++b] = c++;
            rows--;

            for(int i = 0;i<rows;i++)
                ret[++a][b] = c++;
            cols--;

            for(int i = 0;i<cols;i++)
                ret[a][--b] = c++;
            rows--;

            for(int i = 0;i<rows;i++)
                ret[--a][b] = c++;
            cols--;
        }
        return ret;
    }
};

相关文章:

  • ArcEngine开发中,当点击窗体中的ButtoncClick时,程序需等待五六秒才反应过来,的解决方案。
  • 深入理解 SQL 事务隔离级别:脏读、不可重复读和幻读
  • 技术速递|Copilot Edits(预览版)介绍
  • 春风席卷法(单词分泌物):一天记20个忘10个任务之3
  • Deepseek搭建本地知识库
  • sql注入漏洞
  • 已解决IDEA无法输入中文问题(亲测有效)
  • Educational Codeforces Round 174 (Rated for Div. 2)(ABCD)
  • 容器网络(三)- calico网络IPIP模式
  • 深浅拷贝区别,怎么区别使用
  • 最新扣子(Coze)案例教程:全自动DeepSeek 写影评+批量生成 + 发布飞书,提效10 倍!手把手教学,完全免费教程
  • Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)
  • 解决 ssh connect to host github.com port 22 Connection timed out
  • 重看Spring聚焦BeanDefinition分析和构造
  • LED灯闪烁实验:Simulink应用层开发
  • EtherCAT(四) 从站XML文件描述
  • vite配置scss全局变量
  • 22.4.3.2 TCP/UDP连接信息
  • 深度学习在文本情感分析中的应用
  • java数据结构_优先级队列(堆)_6.2
  • 大外交|中美联合声明拉升全球股市,专家:中美相向而行为世界提供确定性
  • 80后莆田市文旅局长马骏登台与杨宗纬合唱,“演唱会秒变旅游推介会”
  • 总粉丝破亿!当网络大V遇见硬核科技,互联网时代如何书写上海故事?
  • 重视体重管理,筑牢健康基石
  • 新华时评:直播间里“家人”成“韭菜”,得好好管!
  • 李公明︱一周书记:浪漫主义为什么……仍然重要?