博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] House Robber II
阅读量:6818 次
发布时间:2019-06-26

本文共 1055 字,大约阅读时间需要 3 分钟。

This problem is a little tricky at first glance. However, if you have finished the House Robberproblem, this problem can simply be decomposed into two House Robber problems. Suppose there are n houses, since house 0 and n - 1 are now neighbors, we cannot rob them together and thus the solution is now the maximum of

  1. Rob houses 0 to n - 2;
  2. Rob houses 1 to n - 1.

The code is as follows. Some edge cases (n <= 2) are handled explicitly.

1 class Solution { 2 public: 3     int rob(vector
& nums) { 4 int n = nums.size(); 5 if (n <= 2) return n ? (n == 1 ? nums[0] : max(nums[0], nums[1])) : 0; 6 return max(robber(nums, 0, n - 2), robber(nums, 1, n -1)); 7 } 8 private: 9 int robber(vector
& nums, int l, int r) {10 int pre = 0, cur = 0;11 for (int i = l; i <= r; i++) {12 int temp = max(pre + nums[i], cur);13 pre = cur;14 cur = temp;15 } 16 return cur;17 }18 };

 

转载于:https://www.cnblogs.com/jcliBlogger/p/4732035.html

你可能感兴趣的文章
nginx 直接在配置文章中设置日志分割
查看>>
(算法)二叉树中两个结点的最近公共父结点
查看>>
Apache 配置 Basic 认证
查看>>
使用 XML 实现 REST 式的 SOA
查看>>
SQL Server 日志收缩
查看>>
High accuracy voltage regulator
查看>>
directory not found for option
查看>>
三阶魔方中心块调整配方和记忆方法
查看>>
***微信LBS地理位置开发+百度地图API(地理位置和坐标转换)
查看>>
如何获得WPA握手包&EWSA破解WPA密码教程[zz]
查看>>
CountDownTimer,0,0
查看>>
mac 终端 常用命令
查看>>
对VM挂载新加入的磁盘
查看>>
MyEclipse *的安装步骤和破解(32位和64位皆适用)(图文详解)
查看>>
如何撤销 PhpStorm/Clion 等 JetBrains 产品的 “Mark as Plain Text” 操作 ?
查看>>
使用maven创建web项目
查看>>
第三十八章 springboot+docker(maven)
查看>>
构建单页面应用
查看>>
BZOJ4078 : [Wf2014]Metal Processing Plant
查看>>
变量的数据类型的转换
查看>>