leetcode:Pascal's Triangle II【Python版】
1、将tri初始化为[1],当rowIndex=0时,return的结果是:1,而题目要求应该是:[1],故将tri初始化为[[1]],返回结果设置为tri[0]即可满足要求;
2、最开始第二层循环是从1到i进行遍历,这样就不好控制数据的更新,因为更新第j个数据要用到原tri行的第j-1个数据,而此时第j-1个数据已经在上一轮被更新;
3、为了解决2中的问题,将第二层循环修改为从i到1进行遍历就可以了(因为第一个元素始终为1就不需要更新了)
4、函数用法:range(start,end,step)
1 class Solution: 2 # @return a list of integers 3 def getRow(self, rowIndex): 4 tri = [[1]] 5 for i in range(1,rowIndex+1): 6 tri[0].append(0) 7 for j in range(i,0,-1): 8 if j == i: 9 tri[0][j] = 1 10 else: 11 tri[0][j] += tri[0][j-1] 12 return tri[0]
找我内推: 字节跳动各种岗位
作者:
ZH奶酪(张贺)
邮箱:
cheesezh@qq.com
出处:
http://www.cnblogs.com/CheeseZH/
*
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。