Leetcode 374. Guess Number Higher or Lower

We are playing the Guess Game. The game is as follows:

 

I pick a number from 1 to n. You have to guess which number I picked.

Every time you guess wrong, I'll tell you whether the number is higher or lower.

You call a pre-defined API guess(int num) which returns 3 possible results (-1, 1, or 0):

-1 : My number is lower
 1 : My number is higher
 0 : Congrats! You got it!


Basic Binary Search Problem:
 1 class Solution(object):
 2     def guessNumber(self, n):
 3         """
 4         :type n: int
 5         :rtype: int
 6         """
 7         low, high = 1, n
 8         
 9         while low <= high:
10             mid = (low + high)//2
11             ans = guess(mid)
12             if ans == 1:
13                 low = mid + 1
14             elif ans == -1:
15                 high = mid - 1
16             else:
17                 return mid

 

posted @ 2016-12-24 01:42  lettuan  阅读(171)  评论(0编辑  收藏  举报