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

力扣HOT100之动态规划:118. 杨辉三角


这道题很简单,感觉思路都不用怎么描述,直接给出动规五部曲的思考过程:
1.确定dp[i][j]的含义:杨辉三角中第i行第j列的值
2.确定递推公式:dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
3.dp数组初始化:dp[i][0] = 1, dp[i][i] = 1
4.确定遍历顺序:从左往右,从上往下遍历
5.打印数组(省略)
我们在初始化的时候就先将每一行的第一个元素和最后一个元素赋值为1,然后就进入循环迭代,不断更新每个位置的值即可。

class Solution {
public:vector<vector<int>> generate(int numRows) {//动规五部曲//1.确定dp[i][j]的含义:杨辉三角中第i行第j列的值//2.确定递推公式:dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];//3.dp数组初始化:dp[i][0] = 1, dp[i][i] = 1//4.确定遍历顺序:从左往右,从上往下遍历//5.打印数组(省略)vector<vector<int>> dp(numRows);//将每一层的首尾都赋值为1for(int i = 0; i < numRows; i++){dp[i].resize(i + 1);dp[i][0] = 1;dp[i][i] = 1;}for(int i = 0; i < numRows; i++){for(int j = 1; j < i; j++){dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];}}return dp;}
};

相关文章:

  • C/C++ 面试复习笔记(1)
  • MySQL进阶篇(存储引擎、索引、视图、SQL性能优化、存储过程、触发器、锁)
  • Vue-Router中的三种路由历史模式详解
  • 第一章 项目总览
  • udp 传输实时性测量
  • 4.1.4 基于数据帧做SQL查询
  • RabbitMQ备份与恢复技术详解:策略、工具与最佳实践
  • Qt DateTimeEdit(时间⽇期的微调框)
  • Spring AI 1.0 GA深度解析与最佳实践
  • Spring Event(事件驱动机制)
  • NumPy 2.x 完全指南【二十一】元素重排操作
  • QT使用说明
  • Spring框架学习day3--Spring数据访问层管理(IOC)
  • [mcu]系统频率
  • 深入剖析 Docker 容器化原理与实战应用,开启技术新征程!
  • RuoYi前后端分离框架集成手机短信验证码(一)之后端篇
  • openfeignFeign 客户端禁用 SSL
  • 王树森推荐系统公开课 排序06:粗排模型
  • SAP销售订单批导创建
  • LVS +Keepalived高可用群集
  • 网络宣传网站建设价格/做网站哪家公司比较好而且不贵
  • 信阳做网站的公司/cpa游戏推广联盟
  • 网上做赌博网站吗/seo博客模板
  • 建立购物网站 app/百度小说风云榜排名完结
  • 有什么好的网站做旅行计划/安卓手机优化
  • 怎样自己做商场网站/怎么提升关键词的质量度