【題目描述】
給定一個(gè)非負(fù)整數(shù) numRows,生成楊輝三角的前 numRows 行脂男。
在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和借宵。
PascalTriangleAnimated2.gif
【實(shí)例】
輸入: 5
輸出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
楊輝三角特性:
1糊探、第n+1行的第i個(gè)數(shù) = 第n行的第i-1個(gè)數(shù) + 第i個(gè)數(shù)
代碼實(shí)現(xiàn):
func generate(_ numRows: Int) -> [[Int]] {
if numRows == 0 {
return []
}
if numRows == 1 {
return [[1]]
}
if numRows == 2 {
return [[1],[1,1]]
}
var triangle = [[Int]]()
triangle.append([1])
triangle.append([1,1])
if numRows > 2 {
for i in 2..<numRows {
var tmp = [Int]()
var preArr = triangle[i-1]//上一行
for ii in 0..<i+1 {
if ii == 0 || ii == i {
tmp.append(1)
} else {
let sum = preArr[ii-1]+preArr[ii]
tmp.append(sum)
}
}
triangle.append(tmp)
}
}
return triangle
}