leetcode——杨辉三角

题目描述

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

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

示例 1:

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

思路

使用两层循环来生成杨辉三角

外层循环负责行数,内层循环负责每一行的元素,对于每一行,第一列和最后一列的数都是1,其他位置的数等于上一行的同一位置和前一位置数值之和

代码

class Solution {
    public List<List<Integer>> generate(int numRows) {
       // 创建一个空列表 用于存储生成的杨辉三角
       List<List<Integer>> result = new ArrayList<>();

       for(int i = 0; i < numRows; i++){
           // 创建新的列表 用于存储当前行
           List<Integer> row = new ArrayList<>();
           // 循环从0到i
           for(int j = 0; j <= i; j++){
               // 如果当前位置是第一列或最后一列,那么就添加1
               if(j == 0 || j == i){
                   row.add(1);
               }else{
                   // 当前数的值为 前一行相同位置与前一行前一格的数值只和
                   row.add(result.get(i-1).get(j-1) + result.get(i -1).get(j));
               }
           }
           // 将当前行添加到结果列表中
           result.add(row);
       } 
       // 返回杨辉三角
       return result;
    }
}

相关推荐

  1. leetcode-三角

    2024-01-31 15:40:03       40 阅读
  2. leetcode-三角ii

    2024-01-31 15:40:03       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 15:40:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 15:40:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 15:40:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 15:40:03       20 阅读

热门阅读

  1. springboot整合redis

    2024-01-31 15:40:03       35 阅读
  2. FPGA芯片的可重构技术

    2024-01-31 15:40:03       50 阅读
  3. MySQL数字类型超出范围时的溢出处理

    2024-01-31 15:40:03       37 阅读
  4. [Python]窗体自动化解决方案之图形匹配

    2024-01-31 15:40:03       36 阅读
  5. 喝汽水问题

    2024-01-31 15:40:03       30 阅读
  6. ORA-01031: insufficient privileges

    2024-01-31 15:40:03       37 阅读
  7. 记一次日志被吞,只有异常类型,没有堆栈信息

    2024-01-31 15:40:03       34 阅读