374 | Guess Number Higher or Lower | 36.30% | 比较两个数的高低,二分法,lint662 |
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 2 14:51:41 2018
@author: vicky
"""
# The guess API is already defined for you.
# @param num, your guess
# @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
# def guess(num):
def guess(x):
if x>p: return -1
elif x==p: return 0
else: return 1
class Solution:
def guessNumber(self,n,p):
"""
:type n: int
:rtype: int
"""
left=1
right=n
while left<right:
mid=int((left+right)/2)
if guess(mid)==1:#guess()要在class外定义,否则class内无法调用
left=mid+1
elif guess(mid)==0:
return mid
else:
right=mid
return left
# for k in range(n):
# if guess(k)==0:
# return k
n=2
p=2
print(Solution().guessNumber(n,p))