lc-go/solutions/1/q118/solution.go
2026-01-15 14:57:22 +09:00

26 lines
442 B
Go

package q118
func generate(numRows int) [][]int {
buf := make([]int, numRows*(1+numRows)/2)
p := 0
take := func(n int) []int {
ret := buf[p : p+n]
p = p + n
return ret
}
ret := make([][]int, 0, numRows)
for i := 1; i <= numRows; i++ {
row := take(i)
row[0] = 1
row[len(row)-1] = 1
for j := 1; j < len(row)-1; j++ {
row[j] = ret[i-2][j-1] + ret[i-2][j]
}
ret = append(ret, row)
}
return ret
}
var _ = generate