当前位置:网站首页>198. House raiding
198. House raiding
2022-07-04 06:01:00 【mrbone9】
Address :
Power button
https://leetcode-cn.com/problems/house-robber/ subject :
You are a professional thief , Plan to steal houses along the street . There is a certain amount of cash in every room , The only restriction on your theft is that adjacent houses are equipped with interconnected anti-theft systems , 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 , The maximum amount that can be stolen overnight .
Example 1:
| Input :[1,2,3,1] Output :4 explain : Steal 1 House No ( amount of money = 1) , And then steal 3 House No ( amount of money = 3). Maximum amount stolen = 1 + 3 = 4 . |
Example 2:
| Input :[2,7,9,3,1] Output :12 explain : Steal 1 House No ( amount of money = 2), Steal 3 House No ( amount of money = 9), Then steal 5 House No ( amount of money = 1). Maximum amount stolen = 2 + 9 + 1 = 12 . |
Tips :
| 1 <= nums.length <= 100 0 <= nums[i] <= 400 |
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/house-robber
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Ideas :
Adopt the idea of dynamic programming
Suppose the current house is i, that dp[i] Indicates the total amount of the stolen house
dp[i] Your choice depends on :
1. Current house selection ,i-1 You can't choose a house ,dp[i] = dp[i-2] + nums[i]
2. The current house is not selected , It depends on dp[i-1] Value
Maximization is max(dp[i-1], dp[i-2] + nums[i])
Initial value :
dp[0] = nums[0] No choice
dp[1] = max(nums[0], nums[1]) A choice
Method 1 、 Dynamic programming
#define max(a,b) ( (a) > (b) ? (a) : (b) )
int rob(int* nums, int numsSize){
int i;
int dp[101]={0};
dp[0] = nums[0];
for(i=1; i<numsSize; i++)
{
if(i == 1)
dp[i] = max(nums[0], nums[1]);
else
dp[i]= max(dp[i-1], dp[i-2]+nums[i]);
}
return dp[numsSize - 1];
}边栏推荐
- Programmers don't talk about morality, and use multithreading for Heisi's girlfriend
- Google Chrome browser will support the function of selecting text translation
- Canoe panel learning video
- Actual cases and optimization solutions of cloud native architecture
- Nexus 6p从8.0降级6.0+root
- 如何判断数组中是否含有某个元素
- Take you to quickly learn how to use qsort and simulate qsort
- Excel 比较日器
- Yiwen unlocks Huawei's new cloud skills - the whole process of aiot development [device access - ESP end-to-side data collection [mqtt]- real time data analysis] (step-by-step screenshot is more detai
- How to get the parent node of all nodes in El tree
猜你喜欢

Tf/pytorch/cafe-cv/nlp/ audio - practical demonstration of full ecosystem CPU deployment - Intel openvino tool suite course summary (Part 2)

Actual cases and optimization solutions of cloud native architecture

AWT常用组件、FileDialog文件选择框

A little understanding of GSLB (global server load balance) technology

Notes and notes

HMS v1.0 appointment. PHP editid parameter SQL injection vulnerability (cve-2022-25491)

Impact relay jc-7/11/dc110v

C language exercises (recursion)

transformer坑了多少算力

Detectron: train your own data set -- convert your own data format to coco format
随机推荐
"In simple language programming competition (basic)" part 1 Introduction to language Chapter 3 branch structure programming
C language exercises (recursion)
注释与注解
1480. Dynamic sum of one-dimensional array
19. Framebuffer application programming
HMS v1.0 appointment. PHP editid parameter SQL injection vulnerability (cve-2022-25491)
Excel comparator
Arc135 a (time complexity analysis)
tutle时钟改进版
QT 获取随机颜色值设置label背景色 代码
How much computing power does transformer have
left_ and_ right_ Net interpretable design
[Excel] 数据透视图
JS execution mechanism
复合非线性反馈控制(二)
JSON web token -- comparison between JWT and traditional session login authentication
How to determine whether an array contains an element
After the festival, a large number of people change careers. Is it still time to be 30? Listen to the experience of the past people
卸载Google Drive 硬盘-必须退出程序才能卸载
Basic concept of bus