https://leetcode.com/problems/guess-number-higher-or-lower-ii/#/description。二進制搜索在這種情況下不起作用?
我們玩猜猜遊戲。遊戲如下:
我從1到n挑選一個數字。你必須猜測我挑選了哪個號碼。
每當你猜錯了,我會告訴你我選擇的號碼 是高還是低。
但是,當您猜測某個特定的數字x,並且您猜錯了時,您支付$ x $ 。當你猜測我選擇的數字時,你贏得比賽。
給定一個特定的n≥1,找出多少錢(至少),你需要有保證勝利。
我正在練習這個問題。我認爲這個問題可以使用二進制搜索來解決。特別是,對於最壞的情況,數字總是可以假定位於每個分割的右半部分。
例如:說n = 5。那麼你有
[1,2,3,4,5]。
第一次嘗試= 3,然後第二次嘗試= 4.這會給你一個7美元的最壞情況。但我已經看過解決方案,在我看來,他們都使用動態編程。我想知道二進制搜索算法在這種情況下怎麼不起作用?
看起來問題的措辭有些不一致。你有沒有檢查[此澄清](https://discuss.leetcode.com/topic/68252/clarification-on-the-problem-description-problem-description-need-to-be-updated/2)? –