当前位置:网站首页>213. house raiding II
213. house raiding II
2022-06-26 00:46:00 【Zzu dish】
raid homes and plunder houses II
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
reflection
This question only needs to use 198 raid homes and plunder houses Before method acquisition of n-1 Maximum number of thefts per day and after n-1 Maximum number of thefts per day , Just take the maximum .
class Solution {
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=robTools(Arrays.copyOfRange(nums,0,nums.length-1));
int b=robTools(Arrays.copyOfRange(nums,1,nums.length));
return Math.max(a,b);
}
public int robTools(int[] nums) {
if(nums.length==1) return nums[0];
//step 1 establish dp Array
int[] dp=new int[nums.length];
// step 2 initialization dp Array
dp[0] = nums[0];
if(nums[1]>nums[0])
dp[1] = nums[1];
else dp[1] = dp[0];
if(dp.length==2) return dp[1];
// step 3 perfect dp Array
for (int i=2;i<dp.length;i++){
dp[i] = Math.max(dp[i-1],dp[i-2]+nums[i]);
}
return dp[dp.length-1];
}
}
边栏推荐
- 机器视觉:照亮“智”造新“视”界
- [TSP problem] solving traveling salesman problem based on Hopfield neural network with matlab code
- 实现异步的方法
- QT custom QSlider with cursor
- DPVS fullnat mode management
- 使用VS2022編譯Telegram桌面端(tdesktop)
- 19c installing PSU 19.12
- 【系统架构】-什么是MDA架构、ADL、DSSA
- 【超能云终端创领先机】如何在48小时内交付一座方舱医院?
- STL tutorial 5-basic concepts of STL and the use of string and vector
猜你喜欢

mtb13_Perform extract_blend_Super{Candidate(PrimaryAlternate)_Unique(可NULL过滤_Foreign_index_granulari

Wireshark's analysis of IMAP packet capturing

Cloud rendering and Intel jointly create the "core" era of cloud rendering

DPVS fullnat mode management

"Method not allowed", 405 problem analysis and solution

Display unassigned virtual address after easyconnect connection

Ad20 (Altium designer) PCB highlight network

Stream data

"Seamless" deployment of paddlenlp model based on openvinotm development kit

元宇宙中的法律与自我监管
随机推荐
No executorfactory found to execute the application
Idea kotlin version upgrade
Apache foundation officially announced Apache inlong as a top-level project
[OEM special event] in the summer of "core cleaning", there are prize papers
Mysql5.7.31 user defined installation details
DPVS fullnat mode deployment
Analyze the five root causes of product development failure
Types of feeder and how to work
What are AOI, X-ray and ICT in SMT industry? What does it do?
no_ Expand and use_ concat
mongodb
1-10vmware builds customized network architecture
防抖和节流
AD20(Altium Designer) PCB 高亮网络
Leetcode 513. Find the value in the lower left corner of the tree
SSL unresponsive in postman test
鼠标拖拽围绕某个物体旋转展示
Phoenix index
Compile the telegraph desktop side (tdesktop) using vs2022
CaMKIIa和GCaMP6f是一樣的嘛?