首页 > 试题广场 >

杨辉三角(一)

[编程题]杨辉三角(一)
  • 热度指数:3043 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个非负整数 num ,生成杨辉三角的前 num 行。
杨辉三角中,每个数是左上方和右上方的数之和。

数据范围:

例如当输入为4时,对应的返回值为[[1],[1,1],[1,2,1],[1,3,3,1]],打印结果如下图所示:

示例1

输入

1

输出

[[1]]
示例2

输入

4

输出

[[1],[1,1],[1,2,1],[1,3,3,1]]
package main
import _"fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param num int整型 
 * @return int整型二维数组
*/
func generate( num int ) [][]int {
    ans:=[][]int{[]int{1}}
    for i:=1;i<num;i++{
        pre:=ans[len(ans)-1]
        tmp:=make([]int,i+1)
        for j:=0;j<i+1;j++{
            if j==0{
                tmp[j]=1
            }else if j==i{
                tmp[j]=1
            }else{
                tmp[j]=pre[j]+pre[j-1]
            }
        }
        ans=append(ans,tmp)
    }
    return ans
}

发表于 2023-03-06 21:39:26 回复(0)

问题信息

难度:
1条回答 2243浏览

热门推荐

通过挑战的用户

查看代码