当前位置:网站首页>LeetCode 213. Home raiding II daily question
LeetCode 213. Home raiding II daily question
2022-07-07 16:58:00 【@Little safflower】
Problem description
You are a professional thief , Plan to steal houses along the street , There is a certain amount of cash in every room . All the houses in this place are Make a circle , This means that the first house and the last house are next to each other . meanwhile , Adjacent houses are equipped with interconnected anti-theft system , If two adjacent houses are broken into by thieves on the same night , The system will automatically alarm .
Given an array of non negative integers representing the storage amount of each house , Count you Without triggering the alarm device , The maximum amount you can steal tonight .
Example 1:
Input :nums = [2,3,2]
Output :3
explain : You can't steal first 1 House No ( amount of money = 2), And then steal 3 House No ( amount of money = 2), Because they are next to each other .
Example 2:Input :nums = [1,2,3,1]
Output :4
explain : You can steal first 1 House No ( amount of money = 1), And then steal 3 House No ( amount of money = 3).
Maximum amount stolen = 1 + 3 = 4 .
Example 3:Input :nums = [1,2,3]
Output :3
Tips :
1 <= nums.length <= 100
0 <= nums[i] <= 1000source : Power button (LeetCode)
link :https://leetcode.cn/problems/house-robber-ii
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Java
class Solution {
public int rob(int[] nums) {
int n = nums.length;
if(n == 1) return nums[0];
if(n == 2) return Math.max(nums[0],nums[1]);
return Math.max(getBenefit(nums,0,n - 2),getBenefit(nums,1,n - 1));
}
public int getBenefit(int[] nums,int left,int right){
int first = nums[left];
int second = Math.max(nums[left],nums[left + 1]);
for(int i = left + 2;i <= right;i++){
int temp = second;
second = Math.max(second,nums[i] + first);
first = temp;
}
return second;
}
}
边栏推荐
- OpenGL personal notes
- ByteDance Android gold, silver and four analysis, Android interview question app
- 最新2022年Android大厂面试经验,安卓View+Handler+Binder
- Three. JS series (1): API structure diagram-1
- LeetCode 1626. 无矛盾的最佳球队 每日一题
- As an Android Developer programmer, Android advanced interview
- 【Seaborn】组合图表:PairPlot和JointPlot
- 最新Android高级面试题汇总,Android面试题及答案
- Opencv personal notes
- "The" "PIP" "entry cannot be recognized as the name of a cmdlet, function, script file, or runnable program."
猜你喜欢
随机推荐
ORACLE进阶(六)ORACLE expdp/impdp详解
无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
A tour of gRPC:03 - proto序列化/反序列化
Laravel5.1 Routing - routing packets
ByteDance Android gold, silver and four analysis, Android interview question app
JS中null NaN undefined这三个值有什么区别
Three. JS series (3): porting shaders in shadertoy
【PHP】PHP接口继承及接口多继承原理与实现方法
LeetCode 152. 乘积最大子数组 每日一题
Cesium(3):ThirdParty/zip. js
LeetCode 1043. 分隔数组以得到最大和 每日一题
编程模式-表驱动编程
23. 合并K个升序链表-c语言
LeetCode 312. 戳气球 每日一题
【DesignMode】享元模式(Flyweight Pattern)
全网“追杀”钟薛高
[designmode] facade patterns
Ray and OBB intersection detection
QT中自定义控件的创建到封装到工具栏过程(一):自定义控件的创建
Find tags in prefab in unity editing mode