LeetCode 213:House Robber II
来源:互联网 发布:破壁机推荐 知乎 编辑:程序博客网 时间:2024/05/19 04:54
class Solution {public:int rob(vector<int>& nums) {int length = nums.size();//cout << "length = " << length << endl;int dp[10000] = {0};int max1 = 0;int max2 = 0;if (length == 0){return 0;}if (length == 1){return nums[0];}if (length == 2){return nums[0] >= nums[1] ? nums[0] : nums[1];}int count = 0;int max = 0;if (length == 3){while (count < 3){if (nums[count] >max){max = nums[count];}count++;}return max;} max = 0;dp[0] = nums[0];dp[1] = nums[0] >= nums[1] ? nums[0] : nums[1];for (int i = 2; i<length - 1; i++){//cout << "1: i = " << i << endl;max = 0;for (int j = 0; j < i - 1; j++){//cout << "1: j = " << j << endl;if (dp[j] >= max){max = dp[j];//cout << "1: max = " << max << endl;}}cout << "### 1: max = " << max << endl;dp[i] = max + nums[i];//int max1 = dp[i];if (dp[i] >max1){max1 = dp[i];}//cout << "dp[i] = " << dp[i] << " 1: i = " << i << endl;}max = 0;int fp[1000] = {0};fp[1] = nums[1];fp[2] = nums[2];for (int i = 3; i < length; i++){//cout << "2: i = " << i << endl;for (int j = 1; j < i - 1; j++){//cout << "2: j = " << j << endl;if (fp[j] >= max){max = fp[j];//cout << "2: max= " << max << endl;}}fp[i] = max + nums[i];//cout << "fp[i] = " << fp[i] << " 1: i = " << i << endl;if (fp[i]>max2){max2 = fp[i];}}if (max2 >= max1){return max2;}else{return max1;}}};
这道题不要想的太复杂就是针对第一种情况的两种情况分类讨论,对于边界的处理要比第一种rober多了一个长度为三的处理,分成2到n-1,3到n两种情况处理
点击打开链接动态规划题目列表
0 0
- leetcode 213 : House Robber II
- leetcode-213 House Robber II
- House Robber II - LeetCode 213
- House Robber II (leetcode 213)
- LeetCode(213) House Robber II
- [leetcode 213]House Robber II
- leetcode 213: House Robber II
- Leetcode #213 House Robber II
- LeetCode 213: House Robber II
- LeetCode 213 House Robber II
- LeetCode 213:House Robber II
- LeetCode 213 House Robber II
- LeetCode 213: House Robber II
- LeetCode[213] House Robber II
- LeetCode(213) House Robber II
- Leetcode 213 House Robber II
- LeetCode 213:House Robber II
- LeetCode House Robber II
- linux下软件的rpm和yum安装
- POJ 2184 Cow Exhibition 0-1背包
- MySQL日常总结
- mysql多表的创建
- IntelliJ IDEA中如何显示和关闭----工具栏,目录栏
- LeetCode 213:House Robber II
- 了解JAVA
- Rx系列学习之旅(一)--MVP架构篇
- 尚学堂白贺翔java互联网架构师视频教程下载
- 文章标题
- AOJ 6 Hero In Maze 【BFS】
- C++第4次作业-输出星号图
- 题目1137:浮点数加法 九度OJ
- getopt 函数