这题是很简单的二分查找的题目,用的实例是一个现实经常见到的,比如年会猜钱多少的,写起来也不是很难,只是别把题目的函数功能理解反了就好了。
class Solution(object):
def guessNumber(self, n):
"""
:type n: int
:rtype: int
"""
def GuessNum(low, high):
if guess(low) == 0:
return low
if guess(high) == 0:
return high
if guess((low + high) / 2) == 1:
low = (low + high) / 2 + 1
return GuessNum(low, high - 1)
if guess((low + high) / 2) == -1:
high = (low + high) / 2 - 1
print '1'
return GuessNum(low + 1, high)
if guess((low + high) / 2) == 0:
return (low + high) / 2
return GuessNum(1, n)
本文介绍了一个常见的二分查找问题及其实现方法。通过一个具体的例子——年会上猜测金额的活动,详细展示了如何使用递归方式实现二分查找,并强调了正确理解函数功能的重要性。
790

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



