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

【代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III】

代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III


一、198.打家劫舍

解题代码C++:

class Solution {
public:int rob(vector<int>& nums) {if (nums.size() == 0) return 0;if (nums.size() == 1) return nums[0];vector<int> dp(nums.size());dp[0] = nums[0];dp[1] = max(nums[0], nums[1]);for (int i = 2; i < nums.size(); i++) {dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);}return dp[nums.size() - 1];}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html



二、213.打家劫舍II

解题代码C++:

class Solution {
public:int rob(vector<int>& nums) {if (nums.size() == 0) return 0;if (nums.size() == 1) return nums[0];int result1 = robRange(nums, 0, nums.size() - 2); // 情况二int result2 = robRange(nums, 1, nums.size() - 1); // 情况三return max(result1, result2);}// 198.打家劫舍的逻辑int robRange(vector<int>& nums, int start, int end) {if (end == start) return nums[start];vector<int> dp(nums.size());dp[start] = nums[start];dp[start + 1] = max(nums[start], nums[start + 1]);for (int i = start + 2; i <= end; i++) {dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);}return dp[end];}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0213.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8DII.html



三、337.打家劫舍III

解题代码C++:

class Solution {
public:int rob(TreeNode* root) {vector<int> result = robTree(root);return max(result[0], result[1]);}// 长度为2的数组,0:不偷,1:偷vector<int> robTree(TreeNode* cur) {if (cur == NULL) return vector<int>{0, 0};vector<int> left = robTree(cur->left);vector<int> right = robTree(cur->right);// 偷cur,那么就不能偷左右节点。int val1 = cur->val + left[0] + right[0];// 不偷cur,那么可以偷也可以不偷左右节点,则取较大的情况int val2 = max(left[0], left[1]) + max(right[0], right[1]);return {val2, val1};}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0337.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8DIII.html

http://www.lryc.cn/news/339331.html

相关文章:

  • 蓝桥杯 — —灵能传输
  • 智慧安防系统EasyCVR视频汇聚平台接入大华设备无法语音对讲的原因排查与解决
  • 基于Pytorch框架的CNN-LSTM模型在CWRU轴承故障诊断的应用
  • QQ 邮箱使用 SMTP 发送邮件报错:550 The From header is missing or invalid
  • mysql中的视图
  • 树莓派点亮双色LED
  • DAY27| 39. 组合总和 ,40.组合总和II ,131.分割回文串
  • 24年重庆三支一扶报名照不通过怎么处理?
  • 20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】
  • 【示例】MySQL-不同case下索引的使用分析
  • MySQL表空间管理与优化(8/16)
  • 杂货铺 | Linux虚拟机Ubuntu操作系统下设置共享文件夹(以及找不到hgfs文件夹怎么办)
  • 《HF经理》:二认知误区
  • ELK日志分析系统之Zookeeper
  • 家居网购项目(Ajax验证用户名+上传图片)
  • 09 Php学习:超级全局变量
  • 【Java】SpringBoot快速整合mongoDB
  • UI设计的未来发展
  • 推荐系统学习记录——连续的嵌入空间
  • 【Entity Framework】你要知道EF中功能序列与值转换
  • 顶顶通呼叫中心中间件-SIP分机安全(mod_cti基于FreeSWITCH)
  • CountDownLatch
  • Vue3中的组合式API与选项式API:深入理解与比较
  • 接口自动化测试实战之接口概念、项目简介及测试流程问答!
  • 浏览器工作原理与实践--跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性
  • Ubuntu配置VScode的C++环境
  • 使用Code开发Django_模版和CSS
  • Llama 3下月正式发布,继续开源!
  • 有图片转成PDF文件格式的方法吗?分享图片转成PDF文件的方法
  • 数据结构---绪论