博客主页:🏆看看是李XX还是李歘歘 🏆

🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺

💗点关注不迷路,总有一些📖知识点📖是你想要的💗

⛽️今天的内容是Leetcode 119. 杨辉三角 II⛽️💻💻💻

​Leetcode​

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

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

119. 杨辉三角 II、Leetcode的Go实现_杨辉三角

示例 1:

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

示例 2:

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

示例 3:

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

提示:

0 <= rowIndex <= 33

进阶:

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

迭代:118. 杨辉三角、Leetcode的Go实现_李歘歘的博客的变式题目

func getRow(rowIndex int) []int {
// 数字模拟过程
res:=make([][]int,rowIndex+1)
for i:=0;i<=rowIndex;i++{
// 边上为1的先赋值
res[i]=make([]int,i+1)
res[i][0]=1
res[i][i]=1
for j:=1;j<i;j++{
res[i][j]=res[i-1][j]+res[i-1][j-1]
}
}
return res[rowIndex]
}

公式:

119. 杨辉三角 II、Leetcode的Go实现_杨辉三角_02

func getRow(rowIndex int) []int {
// 使用公式
res := make([]int,rowIndex+1)
res[0]=1
for i:=1;i<=rowIndex;i++{
res[i]=res[i-1]*(rowIndex-i+1)/i
}
return res
}

119. 杨辉三角 II、Leetcode的Go实现_杨辉三角_03