力扣(leetcode) 118. 杨辉三角

题目在这:https://leetcode-cn.com/problems/pascals-triangle/

思路分析:

一道非常经典的算法题,在大学的时候应该经常用C写。
题目也降低了难度,给出了关键步骤的算法思路。
即:在杨辉三角中,每个数是它左上方和右上方的数的和。

所以只需要建立一下数组。然后往里面插入数据就行了。

 def generate(self, n: int) -> List[List[int]]:
        res = [[1,1] for i in range(n)]
        res[0].pop(0)
        # 创建了含有N个一维数组的二维数组。里面是[1,1] 
        # 因为除了第一行之外,每一行必有俩个1
        # 所以吧第一行的一个1删除。
        for j in range(2,n):
            k = 1
            while j > k:
                temp = res[j-1][k-1] + res[j-1][k]
                res[j].insert(k,temp)
                k += 1

        print(res)
        return res

你可能感兴趣的:(交流学习,个人笔记,python,leetcode)