Housse Robber II | leetcode
2015-05-30 19:09
281 查看
可以复用house robber的代码,两趟dp作为两种情况考虑,选最大值
#include <stdio.h> #define MAX 1000 #define max(a,b) ( (a)>(b)?(a):(b) ) int dp[MAX]={0}; int rob1(int* a, int n) { int i; dp[0]=0; dp[1]=a[0]; for(i=1;i<n;i++){ dp[i+1]=max(dp[i],a[i]+dp[i-1]); } return dp ; } int rob(int* nums, int numsSize) { if(numsSize==1)return nums[0]; return max(rob1(nums,numsSize-1),rob1(nums+1,numsSize-1)) ; }
相关文章推荐
- JS 屏蔽键盘与鼠标事件
- 如何将3DSMAX中模型缩小1000倍,导入到CityEngine中
- 读浅墨博客 十四 笔记
- 06-图1. List Components (25) (邻接表实现)
- JAVA 动态代理与AOP编程(面向切面编程)
- Arduuino复合运算符+Arduino基础~~~
- hdu 5248(二分)
- 浏览器原理与内存泄漏
- Python调用Matlab2014b引擎
- 关于detours的用法
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- linux c编程实现cd目录切换功能(带空格的目录名问题)
- 取得键盘每个按键的keyCode的值
- c++ 多态
- SD-Tax set up
- 英语总结——五月
- android 自学中的散乱笔记
- hdu 5246(模拟)
- 年轻程序员需要学习的5大经验
- nginx rewrite例子