博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Leetcode]螺旋矩阵II
阅读量:4163 次
发布时间:2019-05-26

本文共 1029 字,大约阅读时间需要 3 分钟。

[Leetcode]螺旋矩阵II

题目描述

给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]
解题思路
  • 参考,在此基础上,变成赋值
实现代码
class Solution:    def generateMatrix(self, n: int) -> List[List[int]]:        res = [[0]*n for i in range(n)]        rowbegin = 0        rowend = n - 1        colbegin = 0        colend = n - 1        i = 1        while rowbegin <= rowend and colbegin <= colend:            #向右            for j in range(colbegin, colend + 1):                res[rowbegin][j] = i                i += 1            rowbegin += 1                        #向下            for j in range(rowbegin, rowend + 1):                res[j][colend] = i                i += 1            colend -= 1            #向左            for j in range(colend, colbegin -  1, -1):                res[rowend][j] = i                i +=1            rowend -= 1            #向上            for j in range(rowend, rowbegin - 1, -1):                res[j][colbegin] = i                i += 1            colbegin += 1        return res

转载地址:http://pyoxi.baihongyu.com/

你可能感兴趣的文章
64位与32位linux c开发时默认字节对齐值
查看>>
malloc(malloc在32位编译系统中分配的地址会8字节对齐,64为编译系统中会8或者16字节对齐)
查看>>
初始化时共享内存的key值和信号量初始化的key值可以一样
查看>>
linux c/c++ 解决隐式声明与内建函数不兼容问题
查看>>
pthread的pthread_join()函数理解实验
查看>>
LINUX SIGNAL信号标志详解
查看>>
【Linux函数】Signal ()函数详细介绍
查看>>
linux创建线程之pthread_create
查看>>
pthread_attr_init线程通俗举例讲解与线程属性
查看>>
进程和线程的区别
查看>>
int main(int argc,char* argv[])详解,以及与int main()有什么区别
查看>>
SourceInsight全工程查找替换方法
查看>>
linux根据进程号PID查找启动程序的全路径(程序实现根据PID进程号得到进程名字或根据进程名字取得进程号)
查看>>
linux命令详解:md5sum命令
查看>>
C语言chdir()函数:改变当前的工作目录
查看>>
拷贝目录里面的文件夹里面内容到同样名字的目录中
查看>>
linux sync命令到底做了什么(结合项目中遇到的问题)
查看>>
如果指针指向了文件中的内容,外部修改了此指针指向地址的内容,文件也会修改
查看>>
进程间通信之:socket
查看>>
本地socket与网络socket实现
查看>>