题目

思路

经典的动态规划问题

第 i 家:偷,或者不偷 —— 从这两种选择中,选择最大值。

  • 1、如果 不偷,则等于 前 i-1 家最大
  • 2、如果 ,则等于 前 i-2 家最大 + 第 i 家

题解

import java.util.Arrays;class Solution {// (1) 1 (1) 1 (20) 23 (20) 1 1 (20) 1public int rob(int[] nums) {int len = nums.length;if (len == 0) return 0; // 长度校验if (len == 1) return nums[0];int[] dp = new int[len];dp[0] = nums[0]; // 第一家dp[1] = Math.max(nums[0], nums[1]); // 第二家for (int i = 2; i < len; i++) {/** 第i家:偷,或者不偷。*     1、如果不偷,则等于前 i-1 家最大*     2、如果偷,则等于前 i-2 家最大 + 第 i 家*/dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);}return dp[len - 1]; // 从 dp 中获取最大值}
}

leetcode 198. 打家劫舍(最简单的动态规划问题)相关推荐

  1. leetcode 198打家劫舍

    leetcode 198打家劫舍 题目链接:打家劫舍 题目描述:你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间 ...

  2. leetcode - 198. 打家劫舍

    198. 打家劫舍 -------------------------------------- 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房 ...

  3. LeetCode 198. 打家劫舍(DP)

    1. 题目 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给 ...

  4. 【LeetCode笔记】198. 打家劫舍(Java、动态规划)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 好家伙,真是一道不符合社会主义价值观的题目 不过我们还是要把这道题做了,而且还得用上动态规划 思路 & 代码 首先,不能打劫相邻 ...

  5. 102. Leetcode 198. 打家劫舍 (动态规划-打家劫舍)

    步骤一.确定状态: 1.确定原问题中变化的变量个数 2.考虑最后一步: 对于第N间房屋,有两个选项: 偷窃第N间房屋,那么就不能偷窃第N−1间房屋,偷窃总金额为前N-2间房屋的最高总金额与第N间房屋的 ...

  6. LeetCode 198. 打家劫舍(动态规划)

    题目描述 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...

  7. Leetcode 198.打家劫舍 (每日一题 20210622)

    你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警.给定一个代表每个 ...

  8. [leetcode] 198.打家劫舍

    你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定一个代表每 ...

  9. leetcode 198. 打家劫舍 思考分析

    目录 1.题目 2.求解思路 3.代码 1.题目 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同 ...

最新文章

  1. checkbox管理
  2. 我在想,技术博不能荒废
  3. FPGA/IC Technology Exchange
  4. Linux-鸟菜-2-主机规划与磁盘分区
  5. 字符识别Python实现 图片验证码识别
  6. Django 数据导入和导出
  7. python中产生随机数模块_Python中random模块生成随机数详解
  8. 深入Javascript中apply、call、bind
  9. 将本地代码上传至github
  10. android 底部停靠 底部吸附_android让xml布局的底部跟随软键盘
  11. Windows安装RabbitMQ集群的几个注意点
  12. Ubuntu环境下配置巴斯勒相机及相机测试
  13. 干货分享:5年SEO经验得来的101条总结
  14. 在线html5编辑器uedit,ueditor集成秀米编辑器 - HTML - php中文网博客
  15. 了解记录管理系统RMS
  16. MySQL安装一直卡在starting server
  17. html css分别是什么单位,CSS的deg是什么单位?
  18. C语言通过QR分解计算矩阵的特征值和特征向量
  19. 关于显著性检验,有你想要的!
  20. BZOJ1616[Usaco2008 Mar]Cow Travelling游荡的奶牛 dp

热门文章

  1. POJ - 3415 Common Substrings(后缀数组+单调栈)
  2. POJ - 2528 Mayor's posters(线段数+离散化)
  3. golang tcp keepalive实践
  4. 内核隐藏进程(源码)
  5. 一个python发包的脚本
  6. 多线程学习(一)----CreateThread
  7. Android 图形架构
  8. Spring Boot返回前端Long型丢失精度
  9. 深入理解Java内存架构
  10. 深入理解RCU | RCU源码剖析