374.猜数大小(javascript)374.GuessNumberHigherorLower
原创猜谜游戏的规则如下:
每一轮比赛,我都会从 1 到 n 随机选择一个数字。 请猜猜你选了哪个号码。
如果你猜错了,我会告诉你你猜的数字比我选择的数字大还是小。
您可以调用预定义的接口。 int guess(int num) 为了得到猜测结果,返回值是通用的。 3 可能的情况(-1,1 或 0):
-1我选择的数字比你猜的数字小。 pick < num
1:我选择的数字比你猜的数字大。 pick > num
0我选择了和你猜的一样的号码。祝贺你猜对了!pick == num
返回我选择的号码。
示例 1:
输入:n = 10, pick = 6
输出:6
示例 2:
输入:n = 1, pick = 1
输出:1
示例 3:
输入:n = 2, pick = 1
输出:1
示例 4:
输入:n = 2, pick = 2
输出:2
提示:
- 1 <= n <= 231 - 1
- 1 <= pick <= n
二分查找
var guessNumber = function (n) {
let left = 1, right = n
while (left <= right) {
let mid = Math.floor((left + right) / 2)
if (guess(mid) == -1) {
right = mid - 1
} else if (guess(mid) == 1) {
left = mid + 1
} else {
return mid
}
}
};
leetcode: https://leetcode-cn.com/problems/guess-number-higher-or-lower/
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




