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(N
2)。

代码用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
}

执行结果如下:
图片


左神java代码

posted @   福大大架构师每日一题  阅读(25)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2020-10-09 2020-10-09:假如我能拿到别人的URL,然后篡改数据(金额)发送给系统,如何避免这种事情的发生?
点击右上角即可分享
微信分享提示