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

代码随想录算法训练营19期第48天

198.打家劫舍  

视频讲解:动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍_哔哩哔哩_bilibili

代码随想录  

初步思路:动态规划。

总结:

dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i]

递归公式: dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);

用时:20分钟

 213.打家劫舍II  

视频讲解:动态规划,房间连成环了那还偷不偷呢?| LeetCode:213.打家劫舍II_哔哩哔哩_bilibili

代码随想录

初步思路:动态规划。

总结:

分别考虑2种情况:【1包含首元素,不包含尾元2】包含尾元素,不包含首元

用时:30分钟

 337.打家劫舍III  

视频讲解:动态规划,房间连成树了,偷不偷呢?| LeetCode:337.打家劫舍3_哔哩哔哩_bilibili

代码随想录

初步思路:动态规划 + 树的遍

总结:

【1】    要后序遍历,因为通过递归函数的返回值来做下一步计算
【2】    树形dp的入门题目
# dp数组(dp table)以及下标的含义:
          # 1. 下标为 0 记录 **不偷该节点** 所得到的的最大金钱
          # 2. 下标为 1 记录 **偷该节点** 所得到的的最大金钱

【3】    通过递归左节点,得到左节点偷与不偷的金钱。
【4】    通过递归右节点,得到右节点偷与不偷的金钱。
【5】      
        # 不偷当前节点, 偷子节点
        val_0 = max(left[0], left[1]) + max(right[0], right[1])
        # 偷当前节点, 不偷子节点
        val_1 = node.val + left[0] + right[0]

用时:45分钟

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

相关文章:

  • 【校招VIP】产品项目分析之竞品分析
  • 【JavaScript内置对象】Date对象,从零开始
  • idea启动缓慢解决办法
  • App测试中ios和Android有哪些区别呢?
  • Flink JobManager的高可用配置
  • 为什么Token手动添加到请求的Header中,通常使用“Authorization“字段?
  • 国际生态数据获取网络
  • 爬虫逆向实战(34)-某视综数据(MD5、AES)
  • 数据分析三剑客之Matplotlib
  • Python Opencv实践 - LBP特征提取
  • Docker 搭建Redis Cluster 集群
  • 解决谷歌浏览器会http网站自动变成https的问题
  • go小知识2
  • zabbix监控H3C设备
  • 国产化改造之Mysql迁移方案:Mysql Galera Cluster
  • bootstrap表单类型
  • 第一章 SQL Server 数据库部署
  • 赛事个人团体报名分组成绩查询证书h5小程序开源版开发
  • 【大数据环境配置】01-安装VMware虚拟机
  • 什么是C语言中的命名空间?
  • Java语言特点 8种基本数据类型 标识符等练习题 插入/希尔/选择/堆/冒泡/快速/归并/计数排序
  • 建站系列(七)--- 常用前后端框架
  • Jmx协议远程连接java服务器
  • consul 概念 键值对操作命令
  • R拒绝访问的解决方案
  • SeaArt.ai: 海艺AI绘画艺术图片模型创作平台
  • 服务器数据恢复-Xen server虚拟机数据恢复案例
  • 电工-PN结的工作原理
  • C#教学辅助系统网站as.net+sqlserver
  • Selenium - Tracy 小笔记2