https://leetcode.com/problems/pascals-triangle/
2015-04-13 11:24
288 查看
https://leetcode.com/problems/pascals-triangle/
初始化一个第n行有n个元素的list
非array
[0]和array
的计算公式为array[i+1][j]=array[i][j-1]+array[i][j]
————————————————————————————
初始化最开始用的
for i in range(numRows):
list[i]=[1]*(i+1)
提示TypeError: 'type' object does not support item assignment
原来是list没有指定是什么类型 所以是type类型
单独输出type(list)返回type
————————————————————————————
后来加了一句
list=[]
for i in range(numRows):
list[i]=[1]*(i+1)
提示IndexError: list assignment index out of range
因为list=[]就指定list是一个空列表 怎么可能有list[i]呢
————————————————————————————
最后 建立一个二维数组应该一维一维的创建
由于题目是杨辉三角
所以 一个n*n的数组只用到一大半 全部申请比较浪费 而且后期输出也不方便
申请一个第n行有n个元素的list
最后代码如下
class Solution:
# @return a list of lists of integers
def generate(self, numRows):
array=[]
solution=[]
for i in range(numRows):
array.append([])
for j in range(i+1):
array[i].append(1)
if numRows>=3:
for i in range(2,numRows):
for j in range(1,i):
array[i][j]=array[i-1][j-1]+array[i-1][j]
if numRows==0:
return array
else:
for m in range(numRows):
return array
初始化一个第n行有n个元素的list
非array
[0]和array
的计算公式为array[i+1][j]=array[i][j-1]+array[i][j]
————————————————————————————
初始化最开始用的
for i in range(numRows):
list[i]=[1]*(i+1)
提示TypeError: 'type' object does not support item assignment
原来是list没有指定是什么类型 所以是type类型
单独输出type(list)返回type
————————————————————————————
后来加了一句
list=[]
for i in range(numRows):
list[i]=[1]*(i+1)
提示IndexError: list assignment index out of range
因为list=[]就指定list是一个空列表 怎么可能有list[i]呢
————————————————————————————
最后 建立一个二维数组应该一维一维的创建
由于题目是杨辉三角
所以 一个n*n的数组只用到一大半 全部申请比较浪费 而且后期输出也不方便
申请一个第n行有n个元素的list
list=[] #list是一个列表 for i in range(numRows): list.append([]) #先申请n行 for j in range(i+1): 每行的元素数等于行编号数 list[i].append(1)
最后代码如下
class Solution:
# @return a list of lists of integers
def generate(self, numRows):
array=[]
solution=[]
for i in range(numRows):
array.append([])
for j in range(i+1):
array[i].append(1)
if numRows>=3:
for i in range(2,numRows):
for j in range(1,i):
array[i][j]=array[i-1][j-1]+array[i-1][j]
if numRows==0:
return array
else:
for m in range(numRows):
return array
相关文章推荐
- https://leetcode.com/problems/longest-common-prefix/
- leetcode https://oj.leetcode.com/problems/jump-game-ii/
- https://leetcode.com/problems/plus-one/
- https://leetcode.com/problems/container-with-most-water/
- https://leetcode.com/problems/implement-strstr/
- https://leetcode.com/problems/powx-n/
- https://leetcode.com/problems/climbing-stairs/
- https://leetcode.com/problems/add-binary/
- https://leetcode.com/problems/max-points-on-a-line/
- https://leetcode.com/problems/text-justification/
- https://leetcode.com/problems/string-to-integer-atoi/
- https://leetcode.com/problems/merge-sorted-array/
- https://leetcode.com/problems/valid-sudoku/
- https://leetcode.com/problems/evaluate-reverse-polish-notation/
- https://leetcode.com/problems/search-a-2d-matrix/
- https://leetcode.com/problems/valid-parentheses/
- https://leetcode.com/problems/search-for-a-range/
- https://leetcode.com/problems/reverse-integer/
- https://leetcode.com/problems/first-missing-positive/
- https://leetcode.com/problems/trapping-rain-water/