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

凡科网站是骗子跨境网站开发公司

凡科网站是骗子,跨境网站开发公司,佛山网站设计哪里好,做网站一个月20g流量够吗本题是动态规划问题。 第一步,明确并理解dp数组以及下标的含义 dp[i]表示从第0号房间一直到第i号房间(包含第i号房间)可以偷到的最大金额,具体怎么偷这里不考虑,第i1号及之后的房间也不考虑。换句话说,dp[i]也就是只考虑[0,i]号…

本题是动态规划问题。

第一步,明确并理解dp数组以及下标的含义

dp[i]表示从第0号房间一直到第i号房间(包含第i号房间)可以偷到的最大金额,具体怎么偷这里不考虑,第i+1号及之后的房间也不考虑。换句话说,dp[i]也就是只考虑[0,i]号房间,无论怎么偷可以偷到的最大金额。

按照这个定义,dp[n-1]就是答案。需要注意的是,dp[i]一定能求到值,不代表一定是偷了第i号房间才求得dp[i]。

第二步,明确并理解递推公式

考虑第i号房间,只有两种可能,偷或者不偷。

偷第i号房间,则第i-1号房间肯定不能偷,此时能获得的总金额为dp[i] = dp[i-2] + nums[i]。

不偷第i号房间,此时dp[i]应该等于dp[i-1]。

第三步,理解dp数组如何初始化

dp[0]应该初始化为第0号房间的金额。因为只有一间房的时候,能偷到的最大金额显然就是把它偷了。

dp[1],含义是从第0号房间和第1号房间偷,能偷到的最大金额。由于相邻的房间不能都偷,所以dp[1]= max(nums[0],numd[1]);

i>=2的dp[i]可以不初始化,或者说无论初始化为多大都没关系,因为dp[i]只和dp[i-1],dp[i-2],nums[i]有关系。

第四步,理解遍历顺序

因为dp[i]依赖于它前面的dp[i-1]和dp[i-2],所以i的遍历顺序肯定要从小到大。

代码

按照上面的思路,先初始化dp[0]和dp[1],再让i从2开始遍历,含义更加明确,代码更好理解,如下所示:

class Solution {
public:int rob(vector<int>& nums) {int n = nums.size();//dp[i]表示从第0号房间一直到第i号房间(包含第i号房间)可以偷到的最大金额。//按照这个定义,dp[n-1]就是答案vector<int> dp(n);dp[0] = nums[0];if(n < 2)return dp[0];dp[1] = max(nums[0],nums[1]);for(int i = 2;i < n;i++){//偷第i号房间int temp1 = dp[i-2] + nums[i];//不偷第i号房间int temp2 = dp[i-1];dp[i] = max(temp1,temp2);}return dp[n-1];}
};

但实际上,也可以不初始化让i从0开始遍历,代码如下所示:

class Solution {
public:int rob(vector<int>& nums) {int n = nums.size();//dp[i]表示从第0号房间一直到第i号房间(包含第i号房间)可以偷到的最大金额。//按照这个定义,dp[n-1]就是答案vector<int> dp(n);for(int i = 0;i < n;i++){//偷第i号房间int temp1 = (i >= 2 ? dp[i-2]:0) + nums[i];//不偷第i号房间int temp2 = i >= 1 ? dp[i-1]:0;dp[i] = max(temp1,temp2);}return dp[n-1];}
};
http://www.dtcms.com/a/456593.html

相关文章:

  • vite性能优化
  • git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
  • 手机AIDE使用OpenCV
  • AI智能体(Agent)大模型入门【9】--如何在pycharm等其他编译软件调用ocr工具【只写后端代码不演示】
  • 浅析SpringBoot框架常见未授权访问漏洞
  • 有什么可以做翻译的网站点的排版设计网站
  • 第五十三章 ESP32S3 TCPClient 实验
  • 中国突破柔性电池技术瓶颈:可弯折20000次引领能源存储革命
  • 网站制作公司的宣传海报品牌免费网站建设
  • 基于模板缓冲的矢量贴地显示
  • flink keyby使用与总结 基础片段梳理
  • flink UTDF函数
  • 乐陵网站开发贾汪区建设局网站
  • VS安装EEPlus库及解决[弃用的]CS0618问题
  • 《算法闯关指南:优选算法--滑动窗口》--15.串联所有单词的子串,16.最小覆盖子串
  • 行驶证识别技术通过OCR和AI实现信息自动化采集与处理,涵盖图像预处理、文字识别及结构化校验,提升效率与准确性
  • 第十七篇:数组与链表:结构特性、操作与经典题目
  • 营销型网站的优点深圳推广系统
  • 攻防世界-Web-easyupload
  • 符号主义对自然语言处理深层语义分析的影响与启示
  • 高要区住房和城乡建设局网站西安建设市场信息平台
  • 新手可以做网站营运吗成都手机模板建站
  • 成都市做网站的公司网站开发客户端
  • 农业机械网站模板网站建设图片像素是多大的
  • 素材网站php程序源码公司简介介绍
  • 网站规划的一般步骤建设企业网站包含什么
  • 奉贤做网站建设wordpress访问很慢吗?
  • 大学生网站建设开题报告免费交流网站建设
  • 邢台做网站优化哪儿好怎样建网站
  • 企业网站 asp php修改wordpress邮件