LC 375. Guess Number Higher or Lower II

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.

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.

Runtime: 56 ms, faster than 38.71% of C++ online submissions for Guess Number Higher or Lower II.

Memory Usage: 5.4 MB, less than 0.56% of C++ online submissions for Guess Number Higher or Lower II.

class Solution {
  vector<vector<int>>dp;
public:
  int getMoneyAmount(int n) {
    dp.resize(n+1, vector<int>(n+1,0));
    return DP(1,n);
  }

  int DP(int s, int e) {
    if(s >= e) return 0;
    if(dp[s][e] != 0) return dp[s][e];
    int res = INT32_MAX;
    for(int x=s; x<=e; x++) {
      int tmp = x + max(DP(s,x-1),DP(x+1,e));
      res = min(res, tmp);
    }
    dp[s][e] = res;
    return res;
  }
};

原文地址:https://www.cnblogs.com/ethanhong/p/10361356.html

时间: 2024-10-11 06:44:03

LC 375. Guess Number Higher or Lower II的相关文章

leetcode 375. Guess Number Higher or Lower II

传送门 375. Guess Number Higher or Lower II QuestionEditorial Solution My Submissions Total Accepted: 1546 Total Submissions: 5408 Difficulty: Medium We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess w

375. Guess Number Higher or Lower II (Python)

375. Guess Number Higher or Lower II Description 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 hig

375. Guess Number Higher or Lower II

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 particula

375 Guess Number Higher or Lower II 猜数字大小 II

我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字.每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了.然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金.直到你猜到我选的数字,你才算赢得了这个游戏.示例:n = 10, 我选择了8.第一轮: 你猜我选择的数字是5,我会告诉你,我的数字更大一些,然后你需要支付5块.第二轮: 你猜是7,我告诉你,我的数字更大一些,你支付7块.第三轮: 你猜是9,我告诉你,我的数字更小一些,你支付

LeetCode Guess Number Higher or Lower II

原题链接在这里:https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题目: 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

【Leetcode】Guess Number Higher or Lower II

题目链接: 题目: 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

[LeetCode] Guess Number Higher or Lower II 猜数字大小之二

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 particula

leetcode375 Guess Number Higher or Lower II

思路: dp. https://leetcode.com/problems/guess-number-higher-or-lower-ii/discuss/ 实现: 1 class Solution 2 { 3 public: 4 int getMoneyAmount(int n) 5 { 6 int dp[n + 1][n + 1]; 7 memset(dp, 0x3f, sizeof dp); 8 for (int i = 0; i <= n; i++) 9 dp[i][i] = 0; 10

Guess Number Higher or Lower II--困惑

今天,试着做了一下LeetCode OJ上面的第375道题:Guess Number Higher or Lower II 原题链接:https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 具体题目如下: We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess which numb