博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode每天一题】Spiral Matrix II(螺旋数组II)
阅读量:7260 次
发布时间:2019-06-29

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

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

Example:

Input: 3Output:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]] 思路

之前做过一个旋转数组的题,当时是旋转打印矩阵,这次只是构造一个旋转数组。方案还是一样的,条件变量也一样。时间复杂度为O(n*n),  空间复杂度为O(n)。 解决代码

1     def generateMatrix(self, n): 2         """ 3         :type n: int 4         :rtype: List[List[int]] 5         """ 6         if n == 0 or n == 1: 7             return 0 if n == 0 else [[1]] 10         nums = 1 11         up, down, left, right = 0, n-1, 0, n-1   # 上下左右变量12         res = []13         for i in range(n):       # 结果矩阵14             res.append([0]*n)15             16         while left < right:     # 循环条件,也可以是 up< down。 因为是n*n矩阵,所以可以这样。17             for i in range(left, right):  18                 res[up][i] = nums19                 nums+= 120             21             for i in range(up, down):22                 res[i][right] = nums23                 nums += 124             25             for i in range(right, left, -1):26                 res[down][i] = nums27                 nums += 128             29             for i in range(down, up, -1):30                 res[i][left] = nums31                 nums += 132             up, down, left, right = up+1, down-1, left+1, right-133         34         if n % 2:                 # 如果是奇数的话,中心还有一个元素。35             res[left][right] = nums36         return res

转载于:https://www.cnblogs.com/GoodRnne/p/10740629.html

你可能感兴趣的文章
get请求乱码问题,用encodeURI和decodeURI
查看>>
MapReduce工作原理
查看>>
视频营销、B2B营销、EDM营销之营销方式大PK
查看>>
MySQL服务器学习笔记!(二) ——数据库各项操作
查看>>
nginx+fastcgi+c/c++搭建高性能Web框架
查看>>
eclipse中maven项目红叉解决方案
查看>>
RHEL5中配置无线
查看>>
Linxu用户登录监测
查看>>
7. Reverse Integer
查看>>
我的友情链接
查看>>
JVM的垃圾回收与内存分配
查看>>
【涛声依旧】华为的“大服务”
查看>>
我的友情链接
查看>>
我用 Python 爬取微信好友,最后发现一个大秘密
查看>>
数据库9:联结表 高级联结 组合查询 全文本搜索
查看>>
SharePoint 2010 network load balance 负载均衡配置
查看>>
Webpack介绍和使用(配置环境变量,打包依赖)
查看>>
多重部分和问题
查看>>
人工智能最佳学习实践
查看>>
bzoj 1901: Zju2112 Dynamic Rankings
查看>>