2021-10-09:杨辉三角。给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣118。
Posted 福大大架构师每日一题
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-10-09:杨辉三角。给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣118。相关的知识,希望对你有一定的参考价值。
2021-10-09:杨辉三角。给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣118。
福大大 答案2021-10-09:
自然智慧即可。arr[i][j]=arr[i-1][j-1]+arr[i-1][j]。当前元素=上+左上。
时间复杂度:O(N2)。
空间复杂度:O(N2)。
代码用golang编写。代码如下:
package main
import "fmt"
func main() {
ret := generate(5)
fmt.Println(ret)
}
func generate(numRows int) [][]int {
ans := make([][]int, 0)
for i := 0; i < numRows; i++ {
ans = append(ans, make([]int, 0))
ans[i] = append(ans[i], 1)
}
for i := 1; i < numRows; i++ {
for j := 1; j < i; j++ {
ans[i] = append(ans[i], ans[i-1][j-1]+ans[i-1][j])
}
ans[i] = append(ans[i], 1)
}
return ans
}
执行结果如下:
以上是关于2021-10-09:杨辉三角。给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣118。的主要内容,如果未能解决你的问题,请参考以下文章
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
2021-10-10:杨辉三角 II。给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣119。