375. Guess Number Higher or Lower II
2017-06-20 11:14
316 查看
We are playing the Guess Game. The game is as follows:
I pick a number from 1 to n. You have to guess which number I picked.
Every time you guess wrong, I’ll tell you whether the number I picked is higher or lower.
However, when you guess a particular number x, and you guess wrong, you pay $x. You win the game when you guess the number I picked.
Given a particular n ≥ 1, find out how much money you need to have to guarantee a win.
此题可以看做枚举到第 i 个数时,且第 i 个数不是期望的数值,则分别要在 1~i-1 和 i +1 到 n之间找满足所需的最大的惩罚;
I pick a number from 1 to n. You have to guess which number I picked.
Every time you guess wrong, I’ll tell you whether the number I picked is higher or lower.
However, when you guess a particular number x, and you guess wrong, you pay $x. You win the game when you guess the number I picked.
Example: n = 10, I pick 8. First round: You guess 5, I tell you that it's higher. You pay $5. Second round: You guess 7, I tell you that it's higher. You pay $7. Third round: You guess 9, I tell you that it's lower. You pay $9. Game over. 8 is the number I picked. You end up paying $5 + $7 + $9 = $21.
Given a particular n ≥ 1, find out how much money you need to have to guarantee a win.
此题可以看做枚举到第 i 个数时,且第 i 个数不是期望的数值,则分别要在 1~i-1 和 i +1 到 n之间找满足所需的最大的惩罚;
int dfs_help(vector<vector<int>>& dp, int left, int right){ if (left >= right)return 0; if (dp[left][right])return dp[left][right]; int res = INT_MAX; for (int i = left; i <= right; i++){ int temp = i + max(dfs_help(dp, left, i - 1), dfs_help(dp, i + 1, right)); res = min(res, temp); } dp[left][right] = res; return res; } int getMoneyAmount(int n) { vector<vector<int>> dp(n + 1, vector<int>(n + 1, 0)); dfs_help(dp, 1, n); return dp[1] ; }
相关文章推荐
- [Leetcode 375] Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 374,375. Guess Number Higher or Lower I,II
- LeetCode 375. Guess Number Higher or Lower II
- [leetcode-375]Guess Number Higher or Lower II(java)
- LeetCode | 375. Guess Number Higher or Lower II 树状DP
- LeetCode 题解(Week 12):375. Guess Number Higher or Lower II
- leetcode 375. Guess Number Higher or Lower II 猜数游戏+动态规划DP+最大最小化问题
- 375. Guess Number Higher or Lower II
- LeetCode - 375 - Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- Leetcode:375. Guess Number Higher or Lower II
- Leetcode 375. Guess Number Higher or Lower II
- leetcode 375. Guess Number Higher or Lower II
- [leetcode] 375. Guess Number Higher or Lower II 解题报告
- LeetCode 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- Leetcode 375. Guess Number Higher or Lower II (Medium) (cpp)
- LeetCode 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II**