偷金子
来源:互联网 发布:warframe离线数据模块 编辑:程序博客网 时间:2024/06/10 17:21
偷金子:
思路:画出状态树,左边是偷,右边是不偷。左边偷两个的时候,右边那个不能偷。画出来之后,用f(0,4) f(1,3) 来表示,前面一个参数的物理意义是:前面投了几个,后面一个参数的物理意义是:后面还剩下多少个。注意,前面的参数只有3种情况,偷0个,偷1个,偷2个。有两个变量,所以dp是二维的数组。
public int stole(int[] array) {int[][] dp = new int[3][array.length+1];for(int i=0; i<dp.length; i++){for(int j=0; j<dp[0].length;j++){dp[i][j] = -1;}} calculate(array, dp, 0, array.length); return dp[0][array.length];}public int calculate(int[] array, int[][] dp, int front, int remaining){if(remaining == 0) return 0;if(dp[front][remaining] != -1 ) return dp[front][remaining];int left = -1;if(front < 2) {left = array[array.length-remaining] + calculate(array, dp, front+1, remaining -1);}int right = calculate(array, dp, 0, remaining-1);dp[front][remaining] = Math.max(left, right);return dp[front][remaining];}
0 0
- 偷金子
- 阿凡提种金子
- 分金子
- 我是沙子,还是金子?
- 海盗分金子
- 画金子塔算法
- 金子塔的实现
- 数字金子塔
- GitHub里的金子
- 挖金子---小爬虫
- 偷面包
- “偷”绿豆
- 偷采
- 偷菜
- 偷代码
- 偷菜还是偷人生
- 深圳:没有金子只有机会
- 爱是唯一的金子
- Windows Shell编程之右键菜单遇到的问题
- 【Linux开发】V4L2应用程序框架
- 总结四---新的开始
- Sorting Algorithm-Shell Sort
- 几种求素数与验证素数的方法
- 偷金子
- [C/C++笔面试]判断字符串是不是回文
- 对结构体初始化
- Android按钮事件响应顺序
- MySQL集群搭建详解
- ubunut recovery mode 下拷贝数据到u盘
- 使用TCP协议的NAT穿透技术
- PCH文件写输出的宏
- python 装饰器