【打卡】牛客网:BM79 打家劫舍(二)

资料:

dp.clear()会把dp的size变为0。 

assign和insert的对比:

v1.assign(v2.begin(), v2.end());

v1.insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
v1.insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据,无返回值

vector的assign和insert操作实现坐标正逆序添加_std::vector assign-CSDN博客 

 dp.assign()赋值,会把dp之前的值覆盖。

c++ vector(二) insert, assign_c++ vector assign insert-CSDN博客

模板的:

我的想法是,在数组最后一个后面加上第一个,仿佛就构成了闭环。欠考虑了:第一个和最后一个只能选择一个。也就是,我的做法可能导致第一个被选择两次。

模板的,分了两种情况:选择第一个、不选择第一个。从而不需要再考虑闭环问题。

模板的疑惑:dp.clear()后不能直接dp[1]=0赋值吧?clear后数组size为0,需要用insert或者push_back。

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums int整型vector * @return int整型*/int rob(vector<int>& nums) {// write code hereint n = nums.size();int res = 0;//选择第一个,一定不能选择最后一个vector<int> dp(n);dp[1] = nums[0];for(int i = 2; i < n; i++)dp[i] = max(dp[i-1], dp[i-2]+nums[i-1]);res = max(res, dp[n-1]);//不选择第一个,可以选择最后一个vector<int> dp2(n+1);for(int i = 2; i <= n; i++)dp2[i] = max(dp2[i-1], dp2[i-2]+nums[i-1]);res = max(res, dp2[n]);return res;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/611416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》 写在最前面私钥加密与伪随机性 第二部分流加密与CPA多重加密 CPA安全加密方案CPA安全实验、预言机访问&#xff08;oracle access&#xff09; 操作模式伪随机函数PR…

Java微服务系列之 ShardingSphere - ShardingSphere-JDBC

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列专栏目录 [Java项…

复习python从入门到实践——类

复习python从入门到实践——类 学好继承&#xff0c;你就初步学习了程序面向对象啦&#xff5e;本章我依旧为大家整理好了运行的步骤&#xff0c;以及举了尽可能清晰简单的例子为大家展示。 目录 复习python从入门到实践——类1. Syntax注意&#xff1a; 2.修改属性值3.继承4…

报错解决:No module named ‘pytorch_lightning‘ 安装pytorch_lightning

报错记录 执行如下代码&#xff1a; import pytorch_lightning报错&#xff1a; No module named ‘pytorch_lightning’ 解决方式 安装pytorch_lightning包即可。 一般情况下&#xff0c;缺失的包通过pip安装&#xff0c;即&#xff1a; pip install pytorch_lightning然…

C++性能优化简单总结

什么样的代码是高度优化的&#xff1f; 我们先出去数据结构和算法本身的使用。C 的高效代码通常是利用了各种编译器优化和语言特性来最大程度地提高执行效率和资源利用率的代码。我们需要编写编译器友好的代码来让编译器优化或者说编写出不用编译器高度优化优化也能达到同样效果…

1 快速前端开发

1 前端开发 目的&#xff1a;开发一个平台&#xff08;网站&#xff09;- 前端开发&#xff1a;HTML、CSS、JavaScript- Web框架&#xff1a;接收请求并处理- MySQL数据库&#xff1a;存储数据地方快速上手&#xff1a;基于Flask Web框架让你快速搭建一个网站出来。1.快速开发…

HarmonyOS应用开发学习笔记 应用上下文Context 获取文件夹路径

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器&#xff1a;定义组件重用样式 Extend装饰器&#xff1a;定义扩展组件样式 5、HarmonyOS 应用开发…

14-股票K线图功能-个股日K线SQL分析__ev

需求&#xff1a;统计个股日K线数据&#xff0c;也就是把某只股票每天的最高价&#xff0c;开盘价&#xff0c;收盘价&#xff0c;最低价形成K线图。

山西电力市场日前价格预测【2024-01-11】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-01-11&#xff09;山西电力市场全天平均日前电价为231.43元/MWh。其中&#xff0c;最高日前电价为422.21元/MWh&#xff0c;预计出现在18:00。最低日前电价为0.00元/MWh&#xff0c;预计出…

现代软件测试中的自动化测试工具

自动化测试的重要性和优势 引言&#xff1a;随着软件开发的不断发展&#xff0c;自动化测试工具在现代软件测试中扮演着重要角色。提高效率&#xff1a;自动化测试可以加快测试流程&#xff0c;减少人工测试所需的时间和资源。提升准确性&#xff1a;自动化测试工具可以减少人…

二分图最大匹配算法:匈牙利、KM

文章目录 基础定义匹配二分图二分图的矩阵覆盖交错路与增广路匈牙利算法饱和X的匹配不管X、Y求最大匹配KM算法可行顶点标号、相等子图相等子图的若干性质KM算法的正确性基于以下定理:算法流程描述1描述2基础定义 匹配 匹配:给定一个无向图 G = < V , E > G=<V,E>…

基于云平台技术的车外视频隐私合规的浅谈

基于云平台技术的车外视频隐私合规创新旨在确保车外视频数据的合法、合规使用&#xff0c;同时保护个人隐私不受侵犯。以下是基于云平台技术的车外视频隐私合规的创新实践和考虑因素&#xff1a; 实践&#xff1a; 数据采集&#xff1a;对车外视频数据进行采集时&#xff0c;…

PACS医学影像报告管理系统源码带CT三维后处理技术

PACS从各种医学影像检查设备中获取、存储、处理影像数据&#xff0c;传输到体检信息系统中&#xff0c;生成图文并茂的体检报告&#xff0c;满足体检中心高水准、高效率影像处理的需要。 自主知识产权&#xff1a;拥有完整知识产权&#xff0c;能够同其他模块无缝对接 国际标准…

Linux CentOS 7.6安装JDK详细保姆级教程

一、检查系统是否自带jdk java --version 如果有的话&#xff0c;找到对应的文件删除 第一步&#xff1a;先查看Linux自带的JDK有几个&#xff0c;用命令&#xff1a; rpm -qa | grep -i java第二步:删除JDK&#xff0c;执行命令&#xff1a; rpm -qa | grep -i java | xarg…

ubuntu设置ssh登录,设置公钥无密登录

sudo apt-get install openssh-server vim sudo vim /etc/ssh/sshd_config 修改这几行 PubkeyAuthentication yes #指定公钥数据库文件 AuthorsizedKeysFile.ssh/authorized_keys #PasswordAuthentication yes 改为 PasswordAuthentication no 然后重启ssh服务 systemctl res…

企业的 Android 移动设备管理 (MDM) 解决方案

移动设备管理可帮助您在不影响最终用户体验的情况下&#xff0c;通过无线方式管理和保护组织的移动设备群&#xff0c;现代 MDM 解决方案还可以控制 App、内容和安全性&#xff0c;因此员工可以毫无顾虑地在托管设备上工作。移动设备管理软件可有效管理个人设备上的公司空间。M…

优化CentOS 7.6的HTTP隧道代理网络性能

在CentOS 7.6上&#xff0c;通过HTTP隧道代理优化网络性能是一项复杂且细致的任务。首先&#xff0c;我们要了解HTTP隧道代理的工作原理&#xff1a;通过建立一个安全的隧道&#xff0c;HTTP隧道代理允许用户绕过某些网络限制&#xff0c;提高数据传输的速度和安全性。然而&…

工业交换机在智慧水务和水处理中的应用

智慧水务是一种基于互联网和物联网技术的水务管理模式。它利用现代信息技术&#xff0c;将传统的水务管理模式升级&#xff0c;实现智慧化的水务管理方式。智慧水务的实现离不开各种先进的技术手段。物联网技术是智慧水务的重要组成部分。通过在水务系统中部署工业交换机、传感…

LLMs:Ghost Attention(GAtt)机制的简介(改进多轮对话+帮助注意力聚焦)、原理、作用之详细攻略

LLMs:Ghost Attention(GAtt)机制的简介(改进多轮对话+帮助注意力聚焦)、原理、作用之详细攻略 目录 来源

C/C++调用matlab

C/C调用matlab matlab虽然可以生成C/C的程序&#xff0c;但其能力很有限&#xff0c;很多操作无法生成C/C程序&#xff0c;比如函数求解、优化、拟合等。为了解决这个问题&#xff0c;可以采用matlab和C/C联合编程的方式进行。使用matlab将关键操作打包成dll环境&#xff0c;再…