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