代码随想录 DP day2

ops/2025/3/14 20:10:25/

746. 使用最小花费爬楼梯 - 力扣(LeetCode)

思路:递推公式和爬楼梯类似,都是思考第i层由什么得来的呢?即i-1和i-2加上对应的cost。

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {vector<int> dp(cost.size()+1);
//这里不用判断cost.size()是否小于等于2,因为跳到顶,是必须从0或1有cost开销的,并不是return 0dp[0]=0;dp[1]=0;for(int i=2;i<=cost.size();i++){//这里i的范围很关键,若要求到顶,则就要遍历到cost的末尾的后一位,要算上最后一个跳到顶的costdp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);}return dp[cost.size()];}
};

总结:要注意for循环中i的范围,dp的下标要一直到cost.size(),因为dp[i]表示的是一直到i层需要花费的cost最小总和,而顶层则是下标为cost.size()

62. 不同路径 - 力扣(LeetCode)

思路:首先注意题目中只可向右和向下,那么递推关系就只需要考虑左边移一步和上面向下一步,所以递推关系就显而易见了,就是左边一步和上面一步的路径和相加。

这题只要递推关系出来了其他的四部曲就比较简单,不再赘述。

class Solution {
public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector<int>(n,0));dp[0][0]=0;for(int i=0;i<m;i++) dp[i][0]=1;for(int j=0;j<n;j++) dp[0][j]=1;for(int i=1;i<m;i++){for(int j=1;j<n;j++){dp[i][j]=dp[i-1][j]+dp[i][j-1];}}return dp[m-1][n-1];}
};


http://www.ppmy.cn/ops/165755.html

相关文章

科技创新:改变生活的力量与未来趋势

人工智能在智能客服中的应用越来越普遍。它改变了传统的客服模式。AI可以快速回答用户的问题&#xff0c;提高了客服效率和服务质量。 首先&#xff0c;人工智能能够处理大量信息。智能客服可以在几秒钟内回应客户的请求。这比人工客服快得多。客户不需要等待很久就能得到答案…

Visual Studio关闭警告

Visual Studio关闭警告信息 下面的例子基于VS2019, 其他版本类似。 新建项目之后&#xff0c;在里面写一些会产生警告的代码&#xff0c;如&#xff1a; char c 666; 编译器会警告&#xff1a; 除了警告&#xff0c;运行结果也会有问题。可以考虑把警告信息关掉&#xff1a; …

详细解析 ListView_GetEditControl()

书籍&#xff1a;《Visual C 2017从入门到精通》的2.3.8 Win32控件编程 环境&#xff1a;visual studio 2022 内容&#xff1a;【例2.28】支持主项可编辑的列表视图控件 说明&#xff1a;以下内容大部分来自腾讯元宝。 ​函数原型 HWND ListView_GetEditControl(HWND hwndL…

git使用命令总结

文章目录 Git 复制创建提交步骤Git 全局设置:创建 git 仓库:已有仓库? 遇到问题解决办法&#xff1a;问题一先git pull一下&#xff0c;具体流程为以下几步&#xff1a; 详细步骤 Git 复制 git clone -b RobotModelSetting/develop https://gitlab.123/PROJECT/123.git创建提…

llamaindex实现企业级RAG应用(一)

在上一篇文章中使用Qwen2进行RAG代码实践&#xff0c;手动实现了一版简易的RAG应用&#xff0c;在实际工作中通常都用会使用langchain或llamaindex架构来搭建rag应用&#xff0c;并且会非常复杂。 RAG是个很神奇的应用&#xff0c;可以很简单&#xff0c;也可以很复杂。在llam…

【零基础入门unity游戏开发——进阶篇】Unity Microphone类处理麦克风相关信息,录制音频并实时处理或保存录制的音频数据

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…

【09】单片机编程核心技巧:变量赋值,从定义到存储的底层逻辑

【09】单片机编程核心技巧&#xff1a;变量赋值&#xff0c;从定义到存储的底层逻辑 &#x1f31f; 核心概念 单片机变量的定义与赋值是程序设计的基础&#xff0c;其本质是通过 RAM&#xff08;随机存储器&#xff09; 和 ROM&#xff08;只读存储器&#xff09; 的协作实现…

解锁进行性核上性麻痹护理密码,改善患者生活

进行性核上性麻痹&#xff08;PSP&#xff09;是一种较为罕见且复杂的神经系统变性疾病&#xff0c;会导致患者逐渐出现姿势不稳、眼球运动障碍、吞咽困难、认知功能下降等一系列症状&#xff0c;给患者及其家庭带来沉重负担。做好健康护理&#xff0c;对提升患者生活质量、延缓…