题目
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
解析
就是模拟法,没有什么特殊的算法:
func test(n int) [][]int {
matrix := make([][]int, n)
for i := 0; i < n; i++ {
matrix[i] = make([]int, i+1) // 内层数组大小
matrix[i][0], matrix[i][i] = 1, 1
for j := 1; j < i; j++ {
matrix[i][j] = matrix[i-1][j-1] + matrix[i-1][j]
}
}
return matrix
}