• Spiral Matrix II


    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 ] ]
    class Solution {
    public:
        vector<vector<int> > generateMatrix(int n) 
        {
           vector<vector<int>>  result;
           if(n==0return result;
           
           for(int i=0;i<n;i++)
           {
               vector<int> v;
               for(int j=0;j<n;j++)
                v.push_back(0);
                result.push_back(v);
            }
            int len=n-1;
            int num=1;
            int x=0;
            result[0][0]=1;
            while(len>=1)
            {
                for(int i=0;i<len;i++)
                    result[x][x+i]=num++;
                for(int i=0;i<len;i++)
                    result[x+i][x+len]=num++;
                for(int i=0;i<len;i++)
                    result[x+len][x+len-i]=num++;
                for(int i=0;i<len;i++)
                    result[x+len-i][x]=num++;
                len=len-2;
                x++;
            }
            if(len==0) result[x][x]=num;
            return result;
        }
    };
  • 相关阅读:
    python生成试题库和界面 (python generate test database and layout)
    python生成数据库(python generate database)
    Go语言基础之流程控制
    Go语言基础之运算符
    Go语言基础之变量和常量
    VS Code配置Go语言开发环境
    Linux安装教程|详细
    安装Go语言及搭建Go语言开发环境
    Go语言
    Django2.0路由匹配path的用法
  • 原文地址:https://www.cnblogs.com/erictanghu/p/3759429.html
Copyright © 2020-2023  润新知