119 杨辉三角 II 简单
发布者:admin 发表于:417天前 阅读数:581 评论:0

119. 杨辉三角 II 简单

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。

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

示例:

输入: 3
输出: [1,3,3,1]

进阶:

你可以优化你的算法到 0(k) 空间复杂度吗?

代码参考:

package main

import "fmt"

func main() {
    fmt.Println(getRow(33))
}

func getRow(rowIndex int) []int {
    arrs := getTriangle(34)
    return arrs[rowIndex]
}

func getTriangle(numRows int) [][]int {
    var arrs [][]int
    for i := 0; i < numRows; i++ {
        arr := make([]int, i+1)
        arr[0], arr[i] = 1, 1
        for j := 1; j < i; j++ {
            arr[j] = arrs[i-1][j-1] + arrs[i-1][j]
        }
        arrs = append(arrs, arr)
    }
    return arrs
}