当前位置: 首页 > news >正文

LeetCode 118. 杨辉三角

 题目描述  

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

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

示例

示例 1:

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

示例 2:

输入: numRows = 1
输出: [[1]]

解法

1.动态规划

解题思路

       把每一行的第一个和最后一个元素先置为1,然后把中间的元素通过上一行元素相加赋值。

        如何理解这个递推式 :ans[i][j] = ans[i−1][j−1] + ans[i−1][j]。本质上是一个组合数恒等式,其中 ans[i][j] 表示从 i 个不同物品中选出 j 个物品的方案数。

        如何理解上式呢?考虑其中某个物品选或不选:

        选:问题变成从剩下 i−1 个不同物品中选出 j−1 个物品的方案数,即 c[i−1][j−1]。
不选:问题变成从剩下 i−1 个不同物品中选出 j 个物品的方案数,即 c[i−1][j]。
二者相加(加法原理),得ans[i][j] = ans[i−1][j−1] + ans[i−1][j]

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ans(numRows);for(int i  = 0;i < numRows;i ++){ans[i].resize(i + 1);ans[i][0] = 1;ans[i][i] = 1;for(int j = 1;j < i;j ++){ans[i][j] = ans[i - 1][j - 1] + ans[i - 1][j];}}return ans;}
};

        时间复杂度O(N),空间复杂度O(N)

http://www.dtcms.com/a/461155.html

相关文章:

  • AI原生应用架构白皮书 - AI原生应用架构及其关键要素
  • 蓝绿发布与金丝雀发布策略简介_笔记
  • 流媒体视频技术在明厨亮灶场景中的深度应用
  • 建设网站是否需要一个主机全球邮企业邮箱登录
  • 余弦相似度凭什么成了文本推荐的“方向指南针”?从几何夹角到语义匹配的AI密码
  • 解决Docker Hub被封的问题
  • 基于android的中天模拟键盘APP的设计与实现(初稿)
  • 数据结构——十七、线索二叉树找前驱与后继
  • 数据结构-----栈队列
  • 兰州网站制作有哪些怎样下载字体到wordpress
  • 【ASP.NET Core】分布式场景下ASP.NET Core中JWT应用教程
  • C++分布式语音识别服务实践——性能优化与实战部署
  • 【硬核分表】MySQL水平分表全景指南:从策略对比、全局ID到ShardingSphere实战
  • 零基础学AI大模型之Stream流式输出实战
  • Nacos 实战指南:微服务下服务注册与配置管理的完整落地
  • 网站站seo教程深圳有几个区哪个区最富裕
  • 网站seo诊断分析和优化方案企业形象设计课程标准
  • linux中jenkins正常启动外部无法访问
  • 紫砂壶网站开发与设计报告论文大型门户网站建设所具有的功能模块主要有几种类型
  • TCC 与 Saga 分布式事务:最终一致性实战指南
  • python如何把png图片转jpg
  • CentOS 7 上安装 PostgreSQL
  • PCIe协议之Margning篇之 Margining 入门
  • 业主信息查询优化说明
  • 农产品调度运维可视化
  • Javascript本地存储的方式有哪些?区别及应用场景?
  • 【深度学习05】PyTorch:完整的模型训练套路
  • 深入理解C++中的移动语义从拷贝优化到资源所有权的转移
  • 手机网站后台管理郑州制作网站电话133
  • ASP 程序:深入解析与应用实践