zoukankan      html  css  js  c++  java
  • Python [Leetcode 374]Guess Number Higher or Lower

    题目描述:

    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
    

      

  • 相关阅读:
    课程总结
    课程总结
    十四周实验报告&&课程总结
    记事本代码
    第十三周课程总结
    第十二周课程报告
    PTA实验 链表拼接 (20point(s))
    课程总结
    第十四周课程总结&实验报告
    第十三周课程总结
  • 原文地址:https://www.cnblogs.com/zihaowang/p/5721933.html
Copyright © 2011-2022 走看看