https://leetcode.com/problems/guess-number-higher-or-lower/ 这道题我以为很简单,用二分法写了一下,但执行时候报超时(而且为了增加效率我把除法改成了位运算),我自己拿到 pycharm 里试了一下没问题。不知道是哪段代码让 leetcode 不能通过的。
def guessNumber(self, n):
"""
:type n: int
:rtype: int
"""
if n < 2:
return n
deep = 1
x = n >> deep
while 1:
result = guess(x)
deep += 1
if result < 0:
x = x + (n >> deep)
elif result > 0:
x = x - (n >> deep)
else:
return x