[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;
    }

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2021Eclipse下载与安装教程

    2021Eclipse下载与安装教程2021Eclipse下载与安装教程2021Eclipse下载与安装教程具体步骤如下:1.下载1.1官方下载1.2国内镜像下载【推荐】2.安装3.安装插件2021Eclipse下载与安装教程具体步骤如下:1.下载Eclipse软件下载可以在Eclipse官方下载,也可以在国内镜像地址下载。由于Eclipse官方地址服务器在国外,下载速度比较慢,国内镜像地址下载速度会快很多。1.1官方下载官方下载地址:https://www.eclipse.org/downloads/packages/r

  • java bitwise_Java Core.bitwise_and方法代码示例

    java bitwise_Java Core.bitwise_and方法代码示例importorg.opencv.core.Core;//导入方法依赖的package包/类publicMatskinDetection(Matsrc){//definetheupperandlowerboundariesoftheHSVpixel//intensitiestobeconsidered’skin’Scalarlower=newSca…

  • php 字符串 替换 最后,如何替换php字符串中最后一个字符

    php 字符串 替换 最后,如何替换php字符串中最后一个字符如何替换php字符串中最后一个字符发布时间:2020-08-1010:36:23来源:亿速云阅读:91作者:Leah这篇文章运用简单易懂的例子给大家介绍如何替换php字符串中最后一个字符,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。php替换字符串最后一个字符的方法:首先使用PHP中的“substr”函数或者“mb_substr”截取字符串至倒数第一位;然后拼接自己想要的数…

  • linux mysql 监听端口被占用_Linux 查询端口被占用命令[通俗易懂]

    linux中如何查看某个端口是否被占用之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下:1.netstat-anp|grep端口号如下,我以3306为例,netstat-anp|grep3306(此处备注下,我是以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看),如下图1:图1图1中主要看监控状态为LISTEN表示已…

  • visifire 使用备忘

    visifire 使用备忘//图表绑定辅助类publicclassChartValue:INotifyPropertyChanged{publicChartValue(){}publicChartValue(stringxlabel,decimalvalue){Label=xlabel;_yValue=value;}de…

  • 分形之谢尔宾斯基(Sierpinski)地毯

    分形之谢尔宾斯基(Sierpinski)地毯前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种。谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似

发表回复

您的电子邮箱地址不会被公开。

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