首页 > 其他分享 >LeetCode118.杨辉三角

LeetCode118.杨辉三角

时间:2025-01-04 13:12:46浏览次数:1  
标签:LeetCode118 示例 int List numRows 杨辉三角

题目:

给定一个非负整数numRows,生成「杨辉三角」的前numRows行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例1:
输入:numRows=5
输出:[[1],[1,1],[1,2,1],[1,3,3,1],
[1,4,6,4,1]]

示例2:
输入:numRows=1
输出:[[1]]

思路:

当前的值,等于左上角加上正上方。

代码:

    public List<List<Integer>> generate(int numRows) {
        //1
        //1 2 1
        //1 3 3 1
        //1 4 6 4 1

        List<List<Integer>> resultList = new ArrayList<>();
        if (numRows == 0) {
            return resultList;
        }

        for (int i=0; i< numRows; i++) {
            List<Integer> rowList = new ArrayList<>();
            //i是行, j是列
            for (int j=0; j<=i; j++) {
                //每一行的第一个数,还有最后一个数,都是1.
                if ( j==0 || j==i) {
                    rowList.add(1);
                } else  {
                    //左上角的行下标,比当前的行下标减一。正上方的列下标,分别是  j-1 和 j.
                    rowList.add( resultList.get(i-1).get(j-1) + resultList.get(i-1).get(j) );
                }
            }
            resultList.add(rowList);
        }

        return resultList;


    }

标签:LeetCode118,示例,int,List,numRows,杨辉三角
From: https://www.cnblogs.com/expiator/p/18651792

相关文章

  • 118. 杨辉三角
    题目链接解题思路:不要被「形状」所迷惑,其实就是,第i行(从0开始),一共有i+1个数,第一个数和最后一个数是1,其余的数是上一行,「相同位置」+「左边一个位置」。代码classSolution:defgenerate(self,numRows:int)->List[List[int]]:ans=[]forii......
  • Java代码实现“杨辉三角“
     杨辉三角简介杨辉三角(Pascal'sTriangle)是一个经典的数学结构,其特点是每一行的数字是其上方两个数字之和。具体来说: 顶部的数字是1。 每一行的开头和结尾的数字也是1。 其他位置的数字是其左上方和右上方数字之和。例如,前几行的杨辉三角如下:   1  11 1......
  • LQ1050 杨辉三角
    题目描述杨辉三角又称作中国三角形11  11  2  11  3  3  11  4  6  4  11  5  10  10  5  11  6  15  20  15  6  11  7  21  35  35  21  7  1请在观察杨......
  • Day6:杨辉三角、冒泡选择排序、交集存新数组、十名学生成绩、四组学生成绩
    题目:使用二维数组输出杨辉三角分析代码#include<stdio.h>#include<string.h>#include<stdlib.h>intmain(intargc,constchar*argv[]){      inth=10,l=10;   intarr[h][l];   //初始化数组   for(inti=0;i<h;i++)   {  ......
  • C语言打印杨辉三角
    由杨辉三角可知,最左边与最右边都为一因此先把他们赋值为1,for(i=0;i<n;i++) { arr[i][0]=1; for(j=0;j<n;j++) { if(i==j) arr[i][j]=1; } }通过上述图发现,从n=3开始,出现除1以外的数字; 因此可对他们进行赋值if(i>=2&&j>=1) { arr[i][j]=arr[i-1......
  • 杨辉三角形-多语言
    目录C语言实现方法1:使用二维数组方法2:使用一维数组方法3:递归方法方法4:动态规划Python实现方法1:使用二维列表方法2:使用一维列表方法3:使用递归方法4:使用动态规划 Java实现方法1:使用二维数组方法2:使用一维数组方法3:使用递归......
  • 杨辉三角 c++
    第一种输出图形(直角三角形) #include<cstdio>#include<iostream>usingnamespacestd;voidyh(inta[10][10],intn){//定义n<10 for(inti=1;i<=n;i++){ for(intj=1;j<=n;j++){ if(i==j||j==1){//杨辉三角每行首尾都为1 a[i][j]=1; } elsea[i][......
  • 【刷题】杨辉三角
    目录杨辉三角题目描述解题思路解题代码相同的树题目描述解题思路二叉树的层序遍历题目描述解题思路解题代码从底层层序遍历二叉树的最近公共祖先题目描述解题思路从前序与中序遍历序列构建二叉树题目描述解题思路从后序与中序遍历序列构建二叉树题目描述解题思路根......
  • DHU OJ 二维数组 杨辉三角
    思路及代码//inputT,int1<=<=20//inputT组n#include<iostream>usingnamespacestd;intmain(){intT;cin>>T;intn;//createn=20杨辉三角int**p=newint*[20];for(inti=0;i<=19;i++){p[i]=new......
  • 杨辉三角 C++实现
    给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。classSolution{public:vector<vector<int>>generate(intnumRows){vector<vector<int>>vv;vv.resize(numRows);......