杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例 1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
1
2
2
/**
* @param {number} numRows
* @return {number[][]}
*/
var generate = function(numRows) {
let ans = [];
for (let i = 1; i <= numRows; i++) {
ans.push(f(i));
}
function f(n) {
if (n === 1) return [1];
if (n === 2) return [1, 1];
let res = [1];
let arr = f(n - 1);
for (let i = 1; i < arr.length; i++) {
res.push(arr[i] + arr[i - 1]);
}
res.push(1);
return res;
}
return ans;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/pascals-triangle/