

摘要
“猜数字”听起来像是个小游戏,但在算法题里,它其实考察的是 二分查找 的应用。
这道题的核心就是如何高效地通过“反馈提示”把范围缩小,最终锁定答案。
今天这篇文章里,我会用 Swift 实现完整的解法,并且结合实际场景来看看,这样的思路在现实系统中也很常见。

描述
我们在玩一个猜数字游戏,规则是这样的:
-
系统会在 1 到 n 之间随机挑选一个数字
pick。 -
我们每次猜一个数字
num,系统会通过guess(num)给出反馈:- 返回
-1:说明num > pick。 - 返回
1:说明num < pick。 - 返回
0:说明猜中了!
- 返回
任务是:编写一个函数 guessNumber(n),返回系统选中的数字。
举个例子:
- 输入:
n = 10

订阅专栏 解锁全文
7781

被折叠的 条评论
为什么被折叠?



