(LeetCode)Guess Number Higher or Lower --- 猜数字

来源:互联网 发布:手机淘宝退货退款流程 编辑:程序博客网 时间:2024/05/16 12:46

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.

Subscribe to see which companies asked this question


解题分析:

      对于此题目的主要路线很简单,重点是会使用所提供的API函数guess。

此处使用二分查找。

__author__ = 'jiuzhang'# -*- coding:utf-8 -*-class Solution(object):    def guessNumber(self, n):        start = 1        mid = n / 2        res = guess(mid)        while res != 0:            #print res,start,mid,n            if res == 1:                start = mid + 1                mid = (start + n) / 2                res = guess(mid)            elif res == -1:                n = mid - 1                mid = (start + n) / 2                res = guess(mid)        return mid



0 0
原创粉丝点击