diff --git "a/Solutions/0374. 347円214円234円346円225円260円345円255円227円345円244円247円345円260円217円.md" "b/Solutions/0374. 347円214円234円346円225円260円345円255円227円345円244円247円345円260円217円.md" index 774c25bb..a8d53381 100644 --- "a/Solutions/0374. 347円214円234円346円225円260円345円255円227円345円244円247円345円260円217円.md" +++ "b/Solutions/0374. 347円214円234円346円225円260円345円255円227円345円244円247円345円260円217円.md" @@ -5,17 +5,36 @@ ## 题目大意 -猜数字游戏。给定一个整数 n 和一个接口 `def guess(num: int) -> int:`,题目会从 1~n 中随机选取一个数 x。我们只能通过调用接口来判断自己猜测的数是否正确。要求返回题目选取的数字 x。 +**描述**:猜数字游戏。给定一个整数 `n` 和一个接口 `def guess(num: int) -> int:`,题目会从 `1` ~ `n` 中随机选取一个数 `x`。我们只能通过调用接口来判断自己猜测的数是否正确。 + +**要求**:要求返回题目选取的数字 `x`。 + +**说明**: + +- `def guess(num: int) -> int:` 返回值: + - $-1$:我选出的数字比你猜的数字小,即 $pick < num$; + - 1ドル$:我选出的数字比你猜的数字大 $pick> num$; + - 0ドル$:我选出的数字和你猜的数字一样。恭喜!你猜对了!$pick == num$。 + + +**示例**: + +```Python +输入 n = 10, pick = 6 +输出 6 +``` ## 解题思路 -利用两个指针 left、right。left 指向数字 1,right 指向数组 n。每次从中间开始调用接口猜测是否正确。 +### 思路 1:二分查找 + +利用两个指针 `left`、`right`。`left` 指向数字 `1`,`right` 指向数字 `n`。每次从中间开始调用接口猜测是否正确。 -- 如果猜测的数比选中的数大,则将 right 向左移,继续从中间调用接口猜测; -- 如果猜测的数比选中的数小,则将 left 向右移,继续从中间调用的接口猜测; +- 如果猜测的数比选中的数大,则将 `right` 向左移,令 `right = mid - 1`,继续从中间调用接口猜测; +- 如果猜测的数比选中的数小,则将 `left` 向右移,令 `left = mid + 1`,继续从中间调用的接口猜测; - 如果猜测正确,则直接返回该数。 -## 代码 +### 思路 1:二分查找代码 ```Python class Solution:

AltStyle によって変換されたページ (->オリジナル) /