猜數(shù)字游戲,給定范圍1-n,每次調(diào)用guess函數(shù),按照返回值判斷猜高了還是低了還是正確,輸出選中的數(shù)字,簡(jiǎn)單二分
1 #374
2 #Runtime: 42 ms
3 #Memory Usage: 13.3 MB
4
5 # The guess API is already defined for you.
6 # @param num, your guess
7 # @return -1 if num is higher than the picked number
8 # 1 if num is lower than the picked number
9 # otherwise return 0
10 # def guess(num):
11
12 class Solution(object):
13 def guessNumber(self, n):
14 """
15 :type n: int
16 :rtype: int
17 """
18 l = 1
19 r = n
20 while l < r:
21 mid = (l + r) // 2
22 if guess(mid) == 1:
23 l = mid + 1
24 elif guess(mid) == 0:
25 return mid
26 else:
27 r = mid - 1
28 return l