给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
PHP
class Solution {
/**
* @param Integer $numRows
* @return Integer[][]
*/
function generate($numRows) {
if ($numRows == 0) {
return [];
}
$re = [[1]];
for ($i = 1; $i < $numRows; $i++) {
for ($j = 0; $j < $i + 1; $j++) {
$re[$i][$j] = $re[$i - 1][$j - 1] + $re[$i - 1][$j];
}
}
return $re;
}
}
GO
func generate(numRows int) [][]int {
var re [][]int
if numRows == 0 {
return re
}
re = append(re, []int{1})
for i := 1; i < numRows; i++ {
var tmp []int
for j := 0; j < i + 1; j++ {
if j == 0 {
tmp = append(tmp, 1)
continue
}
if j == i {
tmp = append(tmp, 1)
continue
}
tmp = append(tmp, re[i - 1][j - 1] + re[i - 1][j])
}
re = append(re, tmp)
}
return re
}