当前位置:网站首页>Leetcode-374 guess the size of the number

Leetcode-374 guess the size of the number

2022-04-23 15:48:00 Mid year and early year boundary

The rules of the number guessing game are as follows :
Every round of the game , I'll start from 1 To n Randomly choose a number . Please guess which number is chosen .
If you guessed wrong , I'll tell you , Is your guess larger or smaller than the number I selected .
You can call a predefined interface int guess(int num) To get a guess , The total number of return values is 3 A possible situation (-1,1 or 0):
-1: The number I picked is smaller than your guess pick < num
1: The number I picked was bigger than you guessed pick > num
0: I picked the same number as you guessed . Congratulations ! You guessed it !pick == num
Back to the number I picked .

 Example  1:

 Input :n = 10, pick = 6
 Output :6
 Example  2:

 Input :n = 1, pick = 1
 Output :1
 Example  3:

 Input :n = 2, pick = 1
 Output :1
 Example  4:

 Input :n = 2, pick = 2
 Output :2
 

 Tips :

1 <= n <= 231 - 1
1 <= pick <= n

solution :

# 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: int) -> int:

class Solution:
    def guessNumber(self, n: int) -> int:
        left, right = 1, n
        while left < right:
            mid = (left + right) // 2
            if guess(mid) <= 0:
                right = mid
            else:
                left = mid + 1 

        return left

版权声明
本文为[Mid year and early year boundary]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231545223056.html