LC 375 猜數字大小

2022-08-31 04:30:12 字數 494 閱讀 2894

問題:

給出數字n,在1~n中,假設設定了乙個數字x讓你猜,你猜乙個y,如果錯誤,那就收取¥y的費用,並告訴你x與y的大小關係。求出在1~n中,在最佳策略下猜出乙個x至少要花費多少。(考慮所有情況)

思路:這裡用到了dp問題的解決思想。通過遍歷猜所有數字的情況,例如n為5,猜3,那麼就將問題分成,猜1~2和4~5這兩個情況的最優花費(這兩個子問題)再加上3的消耗。再對比乙個本次最優值,記錄下這麼猜的最優值,以便復用。

**:

1

class

solution

8return dp(status, 1

, n);9}

1011

int dp(int** status, int start, int

end)

19 status[start][end] =local_min;

20return

local_min;21}

22 };

375 猜數字大小 II

我們正在玩乙個猜數遊戲,遊戲規則如下 我從1到n之間選擇乙個數字,你來猜我選了哪個數字。每次你猜錯了,我都會告訴你,我選的數字比你的大了或者小了。然而,當你猜了數字 x 並且猜錯了的時候,你需要支付金額為 x 的現金。直到你猜到我選的數字,你才算贏得了這個遊戲。示例 n 10,我選擇了8.第一輪 你...

375 猜數字大小 II

我們正在玩乙個猜數遊戲,遊戲規則如下 我從1到n之間選擇乙個數字,你來猜我選了哪個數字。每次你猜錯了,我都會告訴你,我選的數字比你的大了或者小了。然而,當你猜了數字 x 並且猜錯了的時候,你需要支付金額為 x 的現金。直到你猜到我選的數字,你才算贏得了這個遊戲。示例 n 10,我選擇了8.第一輪 你...

375 猜數字大小 II

我們正在玩乙個猜數遊戲,遊戲規則如下 我從 1 到 n 之間選擇乙個數字,你來猜我選了哪個數字。每次你猜錯了,我都會告訴你,我選的數字比你的大了或者小了。然而,當你猜了數字 x 並且猜錯了的時候,你需要支付金額為 x 的現金。直到你猜到我選的數字,你才算贏得了這個遊戲。示例 n 10,我選擇了8.第...