//////////////C++
Solution {
public:
int guessNumber(int n) {
int low = 0,high = n,mid;
while(low<=high){
mid = low + (high-low)/2;//不发生溢出
//mid = (low + high)/2; //发生溢出
if(guess(mid)==-1){
high = mid -1;
}
else if(guess(mid)==1){
low = mid + 1;
}
else{
return mid;
}
}
}
};
#####python
class Solution(object):
def guessNumber(self, n):
"""
:type n: int
:rtype: int
"""
low,high = 0,n
while low<=high:
mid = (low+high)//2
if guess(mid) == -1:
high = mid - 1
elif guess(mid)==1:
low = mid + 1
else:
return mid
本文介绍了一个使用二分查找算法的猜数游戏实现,分别用C++和Python两种语言展示。通过不断缩小搜索范围,直到找到正确答案,这是一种高效的查找策略。代码中详细展示了如何设置初始范围,如何进行中间值计算,以及如何根据反馈调整搜索范围。
493

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



