本文主要是介绍leetcode 118. 杨辉三角 119 杨辉三角 II go语言实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码实现:
package mainimport "fmt"func main() {//arr := generate(0)res := getRow(3)fmt.Println(res)}/*** @Description: 杨辉三角 I 类似动态规划** @Date:* @Author: fuGuoWen* @Return* @Throws*/
func generate(numRows int) [][]int {/** 创建二维数组 */res := make([][]int, numRows)if numRows == 0 {return res}res[0] = []int{1}for i := 1; i < numRows; i++ {/** 创建一维数组 */res[i] = make([]int, i+1)res[i][0] = 1res[i][i] = 1for j := 1; j < i; j++ {/** 下面的元素等于上面元素的和 */res[i][j] = res[i-1][j-1] + res[i-1][j]}}return res
}/*** @Description: 杨辉三角 II** @Date:* @Author: fuGuoWen* @Return* @Throws*/
func getRow(rowIndex int) []int {//创建切片res := make([]int, rowIndex+1)res[0] = 1for i := 1; i <= rowIndex; i++ {//从后向前迭代元素,如果是从前向后会出现数据覆盖,故从后向前迭代for j := i; j > 0; j-- {res[j] = res[j-1] + res[j]}}return res
}
这篇关于leetcode 118. 杨辉三角 119 杨辉三角 II go语言实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!