0118. 杨辉三角

0118. 杨辉三角 #

  • 标签:数组
  • 难度:简单

题目大意 #

给定一个整数 n,生成前 n 行的杨辉三角。

例如 n = 5:

1
2
3
4
5
6
7
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

解题思路 #

两重循环遍历。先遍历 n 行,再对每一行每个位置上的元素进行赋值计算。每一行两侧元素赋值为 1,中间元素为上一行两个元素相加。

代码 #

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ans = list()
        for i in range(numRows):
            row = list()
            for j in range(i+1):
                if j == 0 or j == i:
                    row.append(1)
                else:
                    row.append(ans[i-1][j-1]+ans[i-1][j])
            ans.append(row)
        return ans
本站总访问量  次  |  您是本站第  位访问者