Day50 动态规划part09

LC198打家劫舍

  1. 偷前一家或者偷前两家和这家:dp[i] = Math.max(dp[i-2]+nums[i],dp[i-1]);
  2. 代码
    在这里插入图片描述

LC213打家劫舍II( 未掌握

  1. 解题思路:因为成环了,所以首位元素一定是两者只能选择一个或者两者都不选
  2. 三种情况:
    • 首尾元素都不选择,即数组范围为[1,nums.length-2]
    • 选择首元素不选择尾元素,即数组范围为[0,nums.length-2]
    • 选择尾元素不选择首元素,即数组范围为[1,nums.length-1]
  3. 以上三种情况都可以看成是单独的打家劫舍问题,因此可知情况二三是包括情况一的
  4. 代码
    • 需要注意的是Arrays.copyOfRange(int[] origin,int start,int end)中的end参数是实际end的下一个位置
      在这里插入图片描述

LC337打家劫舍III(未掌握)

  1. 未掌握原因分析:如果一个节点没有被偷,那么其子节点可以选择偷或者不偷,不一定就是要偷的
  2. 数组0元素表示偷该节点的最大值,1元素表示不偷该节点的最大值
  3. 偷:左不偷+右不偷+节点值
  4. 不偷:Math.max(左偷,左不偷)+Math.max(右偷,右不偷)
  5. 代码
    在这里插入图片描述

相关推荐

  1. 代码随想录算法训练营day54|第九章 动态规划part15

    2024-06-09 14:56:02       21 阅读
  2. Day46 动态规划part08 139.单词拆分 多重背包

    2024-06-09 14:56:02       37 阅读
  3. 代码随想录 day39 第九章 动态规划part02

    2024-06-09 14:56:02       10 阅读
  4. 代码随想录 day38 第九章 动态规划part01

    2024-06-09 14:56:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 14:56:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 14:56:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 14:56:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 14:56:02       18 阅读

热门阅读

  1. 前端高速成长的八个阶段

    2024-06-09 14:56:02       12 阅读
  2. Ethereum-Score-Hella怎么使用,举例说明

    2024-06-09 14:56:02       9 阅读
  3. Node.js 和 Vue 的区别的基本知识科普

    2024-06-09 14:56:02       9 阅读
  4. 谷神后端代码模板:导入

    2024-06-09 14:56:02       10 阅读
  5. Docker:认识Docker镜像

    2024-06-09 14:56:02       8 阅读
  6. elmentUI el-table 总结行

    2024-06-09 14:56:02       9 阅读
  7. MySQL:MySQL的EXPLAIN各字段含义详解

    2024-06-09 14:56:02       10 阅读