Pascal's Triangle II

来源:互联网 发布:单片机hex文件下载 编辑:程序博客网 时间:2024/06/07 18:14

leetcode第119题,这个题目是杨辉三角的升级版,要求在o(k)的空间复杂度内生成某一行的杨辉三角。

杨辉三角的一般生成方法都是通过上一行来计算下一行,但是现在要求在指定行原地操作,难度增大了很多,需要找到规律。规律是,从后向前,依次加前面那一项。

这里要注意一些细节,特别是下标的处理。首先外层循环是1开始移植到行号+1结束,表示本行有这么多个元素。内层循环的下标比较令人费解,代码中我做了详细注释,可以参看。

class Solution(object):    def getRow(self, rowIndex):        """        :type rowIndex: int        :rtype: List[int]        """        result = []        for i in range(1,rowIndex+2):            result.append(1)            for j in range(i-2,0,-1):                result[j] += result[j-1]        return result


0 0
原创粉丝点击