【Swift】LeetCode 杨辉三角 II

由于各大平台的算法题的解法很少有Swift的版本,小编这边将会出个专辑为手撕LeetCode算法题。
【Swift】LeetCode 杨辉三角 II

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:

输入: rowIndex = 3
输出: [1,3,3,1]
示例 2:

输入: rowIndex = 0
输出: [1]
示例 3:

输入: rowIndex = 1
输出: [1,1]


Swift解法如下:

class Solution {
    func getRow(_ rowIndex: Int) -> [Int] {
        var array:[[Int]] = [[]]
        for index in 1...rowIndex+1{
            if index == 1{
               array = [[1]]
            }else if index == 2{
               array.append([1,1])
            }else { 
                var array2:[Int] = [1]
                var sum = 0
                for aa in 1..<index-1{
                    sum = array[index-2][aa] + array[index-2][aa-1]
                    array2.append(sum)
    
                }
                array2.append(1)
                array.append(array2)
            }
        }
        return array[rowIndex]    
    }
}![请添加图片描述](https://www.icode9.com/i/ll/?i=3db84b3b574a4b56a4a8ece9ce7a8c1d.gif)

上一篇:JavaSE--数组详解


下一篇:3.3数组中涉及到的常见算法