leetcode198 打家劫舍

思路

有点像走楼梯,只是考虑相邻,也就是说你打算偷a[i],那你就不能偷a[i-1]的,然后可以递归的想。
如果money[i]表示第i个房间的钱,sum[i]表示此时在第i个房间一共偷到的最多的钱
错误公式
sum[i] = sum[i-1] + money[i]; 就是隔着偷

最后只需要计算最后两个就可以了
1 2 3 4 计算 (1+3 =4 )<( 2+4 =6)
但是也可以偷第1家(1)第4家(4)=5 啊,这个也是满足条件的
比如这个例子:
100 7 2 9 5 最大值是 100+9 =109
即 sum[i] = sum[i-2] +money[i];
那还会不会隔更多呢,不会的

比如 1 2 3 4 5 可以计算5 + 1, 但是5+1 一定不会是最大。因为你可以5+3+1,即 你在计算sum[3]的时候已经计算了1+3

正确公式
sum[i] = max(sum[i-1], sum[i-2])

代码

 public int rob(int[] nums) {
        if (nums.length == 1){
            return nums[0];
        }
        if (nums.length == 2) {
            return Math.max(nums[0], nums[1]);
        }
        int[] a = new int[3];//为了节省空间
        a[0] = nums[0];
        a[1] = nums[1];
        a[2] = nums[2]+nums[0];
        int cnt = 0;
        for (int i = 3; i< nums.length;i++){
            cnt = Math.max(a[0],a[1])+ nums[i];
            a[0] = a[1];
            a[1] = a[2];
            a[2] = cnt; 

    }
        return Math.max(a[1],a[2]);
}

相关推荐

  1. Leetcode 198 打家劫舍

    2024-06-17 08:56:01       26 阅读
  2. leetcode198 打家劫舍

    2024-06-17 08:56:01       8 阅读
  3. LeetCode198题 - 打家劫舍

    2024-06-17 08:56:01       34 阅读
  4. LeetCode-198打家劫舍(回溯&动归)

    2024-06-17 08:56:01       30 阅读

最近更新

  1. TCP协议是安全的吗?

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

    2024-06-17 08:56:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

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

    2024-06-17 08:56:01       18 阅读

热门阅读

  1. 结构型模式-享元模式

    2024-06-17 08:56:01       7 阅读
  2. CMake Tutorial (3.30-rc3版) 练习和点评

    2024-06-17 08:56:01       7 阅读
  3. HTML中的<br>、<hr>和<pre>标签使用指南

    2024-06-17 08:56:01       8 阅读
  4. 重庆思庄技术分享——启动Oracle下最小追踪日志

    2024-06-17 08:56:01       7 阅读
  5. vue实现图片预览

    2024-06-17 08:56:01       5 阅读
  6. 「C系列」C 文件读写

    2024-06-17 08:56:01       7 阅读
  7. 后端开发面试题4(附答案)

    2024-06-17 08:56:01       6 阅读
  8. C++ 二分查找法【面试】

    2024-06-17 08:56:01       6 阅读
  9. 1、C++编程中的基本运算 - 课件

    2024-06-17 08:56:01       7 阅读
  10. SpringSecurity(JWT、SecurityConfig、Redis)

    2024-06-17 08:56:01       6 阅读
  11. API 类别 - 特效核心

    2024-06-17 08:56:01       5 阅读
  12. Linux 基础IO 三

    2024-06-17 08:56:01       6 阅读
  13. 你应该知道的口语连读技巧

    2024-06-17 08:56:01       6 阅读
  14. Rust创建基准测试bench

    2024-06-17 08:56:01       6 阅读
  15. AWS无服务器 应用程序开发—第十三章 小结2

    2024-06-17 08:56:01       5 阅读
  16. 迁移学习和从头训练(from scratch)的区别

    2024-06-17 08:56:01       6 阅读