力扣118. 杨辉三角

Problem: 118. 杨辉三角

题目描述

在这里插入图片描述在这里插入图片描述

思路

1.初始化状态:将创建的二维数组dp的第一列和主对角线上元素设为1;
2.状态的转移:从第一行、列起始,dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]

复杂度

时间复杂度:

O ( n ) O(n) O(n)

空间复杂度:

O ( n ) O(n) O(n)

Code

class Solution {
    /**
     * Generates Yanghui triangle
     *
     * @param numRows The number of rows
     * @return List<List < Integer>>
     */
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> dp = new ArrayList<>();
        for (int i = 0; i < numRows; ++i) {
            List<Integer> subList = new ArrayList<>();
            for (int j = 0; j <= i; ++j) {
                if (j == 0 || j == i) {
                    subList.add(1);
                } else {
                    subList.add(dp.get(i - 1).get(j - 1) + dp.get(i - 1).get(j));
                }
            }
            dp.add(subList);
        }
        return dp;
    }
}

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 18:50:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 18:50:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 18:50:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 18:50:05       18 阅读

热门阅读

  1. LeetCode 727. 菱形

    2024-04-30 18:50:05       9 阅读
  2. leetcode392--判断子序列

    2024-04-30 18:50:05       11 阅读
  3. 基于VMD-CNN-BiLSTM-Attention组合模型时间序列预测

    2024-04-30 18:50:05       9 阅读
  4. 自然语言转SQL 学习笔记

    2024-04-30 18:50:05       12 阅读
  5. Edge的使用心得与深度探索

    2024-04-30 18:50:05       12 阅读
  6. 嵌入式开发英文单词汇总(C++、Python、Shell)

    2024-04-30 18:50:05       11 阅读
  7. 【LeetCode刷题记录】简单篇-67-二进制求和

    2024-04-30 18:50:05       9 阅读
  8. 笨蛋学C++【C++基础第六弹】

    2024-04-30 18:50:05       10 阅读
  9. 介绍一下mybatis的基本配置(mybatis-config.xml)

    2024-04-30 18:50:05       10 阅读
  10. Linux通过命令查看系统时间

    2024-04-30 18:50:05       7 阅读