[leetcode]Spiral Matrix II

[leetcode]Spiral Matrix II

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

问题叙述性说明:

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.

For example,
Given n = 3,

You should return the following matrix:

[
 [ 1, 2, 3 ],
 [ 8, 9, 4 ],
 [ 7, 6, 5 ]
]

基本思路:

本题是上一篇《Spiral Matrix》的变形。能够採用相同的遍历方法为其赋值。创建旋转矩阵。


代码:

vector<vector<int> > generateMatrix(int n) { //C++
        vector<vector<int> >result;
        if(n <=0 )
            return result;
        
        for(int i = 0; i < n; i++){
            vector<int> tmp(n,0);
            result.push_back(tmp);
        }
        
        int rowBegin = 0;
        int rowEnd   = n-1;
        int colBegin = 0;
        int colEnd   = n-1;
        
        int count = 1;
        while(rowBegin <= rowEnd && colBegin <= colEnd){
            //to right
            for(int j = colBegin; j <= colEnd; j++)
                result[rowBegin][j] =count++;
            rowBegin++;
            
            //to down
            for(int j = rowBegin; j <= rowEnd; j++)
                result[j][colEnd] = count++;
            colEnd--;
            
            //to left
            if(rowBegin <= rowEnd){
                for(int j = colEnd; j >= colBegin; j--)
                    result[rowEnd][j] = count++;
            }
            rowEnd--;
            
            //to up
            if(colBegin <= colEnd){
                for(int j = rowEnd; j >= rowBegin; j--)
                    result[j][colBegin] = count++;
            }
            colBegin++;
        }
        return result;
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116707.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月17日 上午10:00
下一篇 2022年1月17日 上午10:00


相关推荐

  • ubuntu clion 激活码【在线注册码/序列号/破解码】

    ubuntu clion 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    37
  • vc6.0不能添加文件到工程_mdk工程添加另一个工程

    vc6.0不能添加文件到工程_mdk工程添加另一个工程曾经我有一个同学说它的VC软件只要选择添加文件到工程,软件就会崩溃,即停止运行,当时我就笑了,怎么可能会出现这个问题,只要你正常安装的话就不会出现这个问题了       结果之后我就遇到这个问题了,不知道什么时候我的软件也是不能选择添加文件到工程,只要选择这个,首先出来个对话框:      Windows正在收集解决方法什么的。。。。      对此,我把我的软件全部卸载,

    2022年8月12日
    6
  • pjsip编译

    pjsip编译pjsip 编译主要是找到编译器路径 Xcode5 开始所有版本 系统的 gcc 整合到 xcrun 中了 需要用参数来区分在 pjlib include pj 目录下增加 con

    2025年10月26日
    4
  • activate-power-mode 写代码的时候体验狂拽酷炫的效果 (IntelliJ IDEA版安装过程及问题)「建议收藏」

    activate-power-mode 写代码的时候体验狂拽酷炫的效果 (IntelliJ IDEA版安装过程及问题)「建议收藏」初遇activate-power-mode前一段时间在微信上看到朋友发的这个插件,就收藏了,一直没试试,今天兴致一来突然想起来这么一出,就试试这是微信原文:写个HelloWord而已,要不要这么震撼?!atom上的一个插件,可以让你写代码的时候体验狂拽酷炫的效果这货全名叫activate-power-modeatompackage最新版0.3.2

    2022年7月14日
    30
  • pycharm滚动放大缩小字体_pycharm滚轮调整字体大小

    pycharm滚动放大缩小字体_pycharm滚轮调整字体大小pycharm中,设置滚轮直接调整字体大小步骤1、setting2、Editor→General3、勾选Change。。。。。。。4、Apply5、OK

    2022年8月27日
    8
  • 二叉树的五大性质及证明「建议收藏」

    二叉树的五大性质及证明「建议收藏」二叉树(BinaryTree)定义:一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。特点:每个结点至多只有两棵子树(二叉树中不存在度大于2的结点)五种形态: 1.性质1性质1 在二叉树的第i层至多有2^(i-1)个结点。(i&gt;=1) [用数学归纳法证明]  …

    2022年5月18日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号