给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
解法:
func getRow(_ rowIndex: Int) -> [Int] {
var bigArray = [[Int]]()
guard rowIndex >= 0 else {
return []
}
var index = 1
while index > 0 {
if index == 1 {
bigArray.append([1])
}else if index == 2{
bigArray.append([1,1])
}else{
var minArray = [Int]()
var temArray = bigArray[index-2] //取出上一行
for low in 0..<index {
if low == 0 {
minArray.append(1)
}else if low == index-1 {
minArray.append(1)
}else{
minArray.append(temArray[low-1]+temArray[low])
}
}
bigArray.append(minArray)
}
if(rowIndex == index-1){
return bigArray[rowIndex]
}
if(index>0){
index += 1
}
}
return []
}