zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):第374题:猜数字大小:我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。

    题目:

    猜数字大小:我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。

    你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):

    -1 : 我的数字比较小
    1 : 我的数字比较大
    0 : 恭喜!你猜对了!
     

    示例 :

    输入: n = 10, pick = 6
    输出: 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: int) -> int:
    
    class Solution:
        def guessNumber(self, n: int) -> int:
            if n == 0:
                return 0
            begin = 1
            end = n
            while begin <= end:
                middle = (begin + end) // 2
                if guess(middle) == 0:
                    return middle
                elif guess(middle) == 1:
                    begin = middle + 1
                else:
                    end = middle - 1
    

      

  • 相关阅读:
    Go jaegerde 应用【logger+gorm+grpc+http】
    Go gRPC 调试工具
    iris和xxl-job整合
    Go Grpc部署到 k8s【端口共享】
    rocketmq事务 go 采用rocketmq-client-go的实现
    Go Grpc部署到 k8s【负载均衡】
    ubuntu18安装Kubernetes 1.20.5
    k8s Python API
    go nacos服务发现
    k8s集群日志收集ELK和graylog
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12983137.html
Copyright © 2011-2022 走看看