题目描述:

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 (-11, or 0):

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

Example:

n = 10, I pick 6.

Return 6.

解题思路:

二分查找法的变体

代码如下:

# 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): class Solution(object):
def guessNumber(self, n):
"""
:type n: int
:rtype: int
"""
left, right = 1, n
while(left <= right):
mid = (left + right) / 2
res = guess(mid)
if res == 0:
return mid
elif res == -1:
right = mid -1
elif res == 1:
left = mid + 1 return -1

  

最新文章

  1. tangram2.6(XE2)\Demo\notify\notifyGroup.groupproj
  2. linux vps安装kloxo配置全部过程
  3. 爱上iOS单元测试系列之爱上她就要先了解她:单元测试入门
  4. mac平台下面ruby环境搭建
  5. cojs 白树黑 黑树白 题解报告
  6. Spring Bean基本管理--bean注入方式汇总
  7. EF的表连接方法Include() - nlh774
  8. iomanip
  9. 手动整合实现SSH项目开发01
  10. 细说Django的admin
  11. Mysql的内连接,外链接,交叉链接
  12. Java 学习资料整理
  13. 如何离线安装python的whl库
  14. 放球游戏B
  15. Python爬虫5-利用usergent伪装访问方式
  16. Rabbit的机器人-二分答案
  17. Latex: 参考文献双栏对齐
  18. Dive into Python
  19. javascript:FileReader对象(读取文件)
  20. 【转】MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)

热门文章

  1. Linux mount/unmount命令(6/16)
  2. 完美修改iOS项目名
  3. 用VS2013编译FFMPEG232
  4. EasyUI:所有的图标
  5. C++结构体定义和C的区别
  6. Eclipse 启动tomcat 访问主页报错404
  7. idea软件编码已经设置好了为utf-8,但是svn中down下来的文件格式本身不是utf-8的,此时打开后会出现中文乱码解决方法
  8. AtCoder Regular Contest 092
  9. iscroll.js的简单使用方法(总结)
  10. angular-messages.js信息验证的使用