【leetcode】#数组【Python】119. Pascal's Triangle II 杨辉三角 II

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014256231/article/details/83451306

题目:

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
示例:
输入: 3
输出: [1,3,3,1]

我的解法:运用杨辉三角的公式直接计算

class Solution(object):
    def getRow(self, rowIndex):
        tri = []
        for i in range(rowIndex+1):
            tri.append(self.c(rowIndex,i))
        return tri
        
    def c(self,n,m):
        return int(self.mul(n)/self.mul(n-m)/self.mul(m))

    def mul(self,n):
        m = 1
        for i in range(1,n+1):
            m = m * i
        return m

我的解法2: 计算出所有的杨辉三角的数字

见上篇,https://blog.csdn.net/u014256231/article/details/83451155

别人的解法2: 也是计算出所有的杨辉三角的数字

class Solution(object):
    def getRow(self, rowIndex):
        row = [1]
        for _ in range(rowIndex):
            row = [x + y for x, y in zip([0]+row, row+[0])]
        return row

猜你喜欢

转载自blog.csdn.net/u014256231/article/details/83451306