leetcood学习笔记-59-螺旋矩阵二
题目描述:

参考后的提交:
class Solution:
def generateMatrix(self, n: int):
#l = [[0] * n] * n 此创建方法错误
l = [[] for i in range(n)]
for i in range(n):
for j in range(n):
l[i].append(0)##l=[[o for i in range(n)]for i in range[n]]
#print(l)
j,m = 0,1
while m<=n*n:
for i in range(j,n-j):
l[j][i] = m
m += 1
for i in range(j+1,n-j):
l[i][n-j-1] = m
m += 1
for i in range(n-j-2,j-1,-1):
l[n-j-1][i] = m
m += 1
for i in range(n-j-2,j,-1):
l[i][j] = m
m += 1
j += 1
return l
注意:
l = [[0]*3]*3用这种方法生成二维列表时 改变其中一值,其它列相对应值改变!也就是说matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。 创建二维数组的方法:matrix = [[0 for i in range(3)] for i in range(3)]
其他:
class Solution(object):
def generateMatrix(self, n):
"""
:type n: int
:rtype: List[List[int]]
"""
res = [[0 for __ in range(n)] for _ in range(n)]
up,down,left,right = 0,n,0,n #上下左右边界
index = 1
while index <= n**2:
for i in range(left,right): #向右
res[up][i] = index
index += 1
up += 1 for i in range(up,down): #向下
res[i][right-1] = index
index += 1
right -= 1 for i in range(right-1,left-1,-1): #向左
res[down-1][i] = index
index += 1
down -= 1 for i in range(down-1,up-1,-1): #向上
res[i][left] = index
index += 1
left += 1 return res
leetcood学习笔记-59-螺旋矩阵二的更多相关文章
- leetcood学习笔记-54-螺旋矩阵
题目描述: 第一次提交: class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: j,x = 0 ...
- leetcood学习笔记-45-跳跃游戏二
题目描述: 第一次提交;超时 class Solution: def jump(self, nums: List[int]) -> int: l = [] for i in range(len( ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS) 学习目标 回顾复数,以及 ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- vue2.0学习笔记之路由(二)路由嵌套+动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue2.0学习笔记之路由(二)路由嵌套
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十二章:几何着色器(The Geometry Shader)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十二章:几何着色器(The Geometry Shader) 代码工 ...
- Java实现 LeetCode 59 螺旋矩阵 II
59. 螺旋矩阵 II 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ...
随机推荐
- redis 发布订阅(pub/sub )
- shell 符号的定义(一)
在shell中,在判断数值大小除了可以用”(( ))”的形式外,还可以使用”[ ]”.但是就不能使用>, < , = 这样的符号了,要使用 -lt (小于),-gt (大于),-le (小 ...
- 解决vue项目打包之后出现源代码的问题
config/index.js 页面找到productionSourceMap:ture 改为 productionSourceMap:false
- 代理端口转发工具rinetd
转载: https://my.oschina.net/wuweixiang/blog/2983280 rinetd 前言 iptables 的功能当然强大,但理解与设置却有点抽象,便通过google认 ...
- react-router v3和v4区别
1.默认路由 v3 <IndexRoute> v4 <Route exact> 2.授权路由 import Redirect from 'react-router-dom' & ...
- tomcat 安装时出现 Failed to install Tomcat7 service
今天在安装tomcat时提示 Failed to install Tomcat7 service了,花了大半天的时间找到了原因,下面分享给大家,希望对各位有所帮助. 应该是你卸载时直接删除目录导致的. ...
- git——commit成功后,GitHub方格不变绿
一通百度该设置的都设置了,还是不好使 发现有提示一栏 pull request的东西 在网上查貌似是因为两个分支内容不同 提示是否合并,还查到了不变绿可能的原因. Contributions未被Gi ...
- 【dart学习】-- dart 安装开发环境
前言 说明下:本人只有window和mac,所以安装实践只有这两种,其他的自行尝试.简介:Dart是谷歌开发的计算机编程语言,后来被Ecma (ECMA-408)认定为标准 [1] .它被用于web. ...
- vue2 核心概念
一.vue变量 所有的 vue变量 ,必须在data:中有注册(哪怕内容是空,相当于声明这个是变量,是vue变量而不是js变量).这里的变量也可以运算.(注意:所有的框架一定要注意js变量和框架的变量 ...
- [SDOI2010]地精部落 题解
Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi, ...