Guess Number Higher or Lower II
来源:互联网 发布:淘宝网修改手机号码 编辑:程序博客网 时间:2024/05/20 12:21
看了半天还是似懂非懂,o(╯□╰)o
用了极小极大算法:在1-n个数里面,我们任意猜一个数(设为i),保证获胜所花的钱应该为 i + max(w(1 ,i-1), w(i+1 ,n)),这里w(x,y))表示猜范围在(x,y)的数保证能赢应花的钱,则我们依次遍历 1-n作为猜的数,求出其中的最小值即为答案
class Solution {public:int getMoneyAmount(int n) {vector<vector<int> > table(n+1,vector<int>(n+1,0));int res = DP(table, 1, n);return res;}int DP(vector<vector<int> > &t, int s, int e) {if (s >= e) return 0;if (t[s][e] != 0) return t[s][e];int res = INT_MAX;for (int k = s; k <= e; k++) {int tmp = k + max(DP(t, s, k - 1), DP(t, k + 1, e));//极大部分res = min(res, tmp);//极小部分,合起来就是极小极大算法}t[s][e] = res;//这个配合上面的if条件做剪枝用,其实这个迭代过程生成了一颗特别大的博弈树,dp数组只是记载了一些迭代路径return res;}};用n=3迭代着在纸上写了写,明白了不少
0 0
- Guess Number Higher or Lower II
- leetcode:Guess Number Higher or Lower II
- [Leetcode]Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 【Leetcode】Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- Guess Number Higher or Lower II
- Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- guess-number-higher-or-lower-ii
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- Android中的Post和Get方法:服务器端+客户端
- HTML基础
- iOS深入学习(Block全面分析)
- DOM
- 算法工程师
- Guess Number Higher or Lower II
- java数组(二)
- [leetcode]78. Subsets
- 用autoconf和automake自动生成Makefile
- LruCache缓存处理及异步加载图片类的封装
- FP-growth树
- Gmond dead but subsys locked 解决方案
- 数据库MySQL-----------子查询
- 总结java排序代码