Pascal’s Triangle
描述
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
题解
package algorithms
func generate(numRows int) [][]int {
res := [][]int{}
if numRows == 0 {
return res
}
res = append(res, []int{1})
if numRows == 1 {
return res
}
for i := 1; i < numRows; i++ {
res = append(res, helper(res[i-1]))
}
return res
}
func helper(p []int) []int {
res := make([]int, 1, len(p)+1)
res = append(res, p...)
for i := 0; i < len(res)-1; i++ {
res[i] += res[i+1]
}
return res
}