算法作业_30(2017.6.13第十七周)
来源:互联网 发布:网络封包编辑器 编辑:程序博客网 时间:2024/06/05 23:51
198. House Robber
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.
解析:还是动态规划的问题,之前考虑用二维数组来保存,提交的时候一直报错。后来就考虑用一个同样大小的一维数组,先分别初始化前三个元素。由于没有考虑数组大小小于3的情况,所以一直报空指针异常。需要对数组长度小于三的情况分别考虑。可能不是最优解法:class Solution {public: int rob(vector<int>& nums) { int n = nums.size(); vector<int>dp(n); int res = 0; if(n==0) return 0; if(n==1) return nums[0]; if(n==2) return max(nums[0],nums[1]); if(n>=3){ dp[0] = nums[0] ; dp[1] = nums[1] ; dp[2] =max((nums[0] + nums[2]),dp[1]) ; for(int i = 3 ; i < n; i++){ dp[i] = max((nums[i]+dp[i-2]) , (nums[i]+dp[i-3])); } for(int i = 0 ; i <n ; i++){ if(res<dp[i]) res = dp[i]; } } return res; }};
阅读全文
0 0
- 算法作业_30(2017.6.13第十七周)
- 算法作业_29(2017.6.12第十七周)
- 算法作业_31(2017.6.14第十七周)
- 算法作业_32(2017.6.15第十七周)
- 算法第十七周作业01
- 算法课第十七周作业 | Same Tree
- 算法作业_33(2017.6.16第十七周)(算法机考模拟题1)
- 算法作业_34(2017.6.16第十七周)(算法机考模拟题2)
- 算法作业_35(2017.6.16第十七周)(算法机考模拟题3)
- 算法作业_36(2017.6.16第十七周)(算法机考模拟题5)
- 第十七周作业 1.0
- 第十七周作业1
- 第十七周作业
- 第十七周作业
- 算法设计与结构基础作业第十七周
- 第十七周算法题
- 第十七周LeetCode算法题
- 第十七周算法设计与分析:Minesweeper
- idea每次运行项目时都提示源值1.5已过时,将在未来所有版本中删除
- BIEE找回“丢失”的仪表盘页定制
- 东软集团软件实施岗实习生面试
- Java Web基础——Action+Service +Dao三层的功能划分
- Win7系统执行bat批处理文件显示乱码该如何解决?
- 算法作业_30(2017.6.13第十七周)
- 【通俗解释】余弦相似度
- Github中fork的使用
- 《Fast and Accurate Inference with Adaptive Ensemble Prediction in Image Classification阅读笔记
- Video Captioning with Multi-Faceted Attention
- 反射-类的加载概述和加载时机
- app运用api.js选项切换
- ERROR Unknown character set: 'utf8mb4'
- Gradle 修改Maven仓库地址