lintcode:Guess Number Game

来源:互联网 发布:天天酷跑ios淘宝充值 编辑:程序博客网 时间:2024/06/06 17:56

题目

超时:

# 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# you can call Guess.guess(num)class Solution:    # @param {int} n an integer    # @return {int} the number you guess    def guessNumber(self, n):        # Write your code here        while Guess.guess(n) != 0:            if Guess.guess(n) == 1:                n += 1            if Guess.guess(n) == -1:                n -= 1        return n

二分查找 AC

# 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# you can call Guess.guess(num)class Solution:    # @param {int} n an integer    # @return {int} the number you guess    def guessNumber(self, n):        # Write your code here        st, ed = 1, n        while st <= ed:            mid = st + (ed - st)/2            res = Guess.guess(mid)            if res == 0:                return mid            elif res == 1:                st = mid + 1            else:                ed = mid - 1        return st
原创粉丝点击