zoukankan      html  css  js  c++  java
  • 牛客网每日一练

    #
    # 
    # @param n int整型 
    # @return int整型二维数组
    #
    class Solution:
        def generateMatrix(self , n ):
            if n<= 0:
                return[]
            res = [[0 for i in range(n)] for j in range(n)]
            var = 1
            l,r,d ,u = 0, n-1, n-1 , 0
            
            while(l < r) and (u < d):
                # 从左到右
                for i in range(l, r):
                    res[u][i] = var
                    var += 1
                # 从上到下
                for i in range(u,d):
                    res[i][r] = var
                    var += 1
                # 从左到右
                for i in range(r, l ,-1):
                    res[d][i] = var
                    var += 1
                # 从下向上
                for i in range(d, u, -1):
                    res[i][l] = var
                    var += 1
                
                l += 1
                r -= 1
                d -= 1
                u += 1
            if (l==r):
                res[l][l] = n**2
            return res
            # write code here

    题目描述

    给定一个整数n,将数字1到n^2n2按螺旋的顺序填入n×n的矩阵
    例如:
    给出的n=3,
    你应该返回如下矩阵:
    [
     [ 1, 2, 3 ],
     [ 8, 9, 4 ],
     [ 7, 6, 5 ]
    ]
    此题是不是非常的熟悉,此时是我们之前做过的螺旋矩阵,知不道这是反过来了 之前是给你矩阵让你螺旋式输出,现在是你你维度螺旋式生成矩阵

  • 相关阅读:
    长沙雅礼中学集训-------------------day1(内含day0)
    17年 5月份刷题版
    manecher_回文串;
    后缀数组
    湖南集训
    好像又好久没更了;计算课noip模拟赛;
    dp的练习题;
    oj1638
    【noi】植物大战僵尸
    #日常吐槽
  • 原文地址:https://www.cnblogs.com/nenu/p/14618302.html
Copyright © 2011-2022 走看看