Java | Leetcode Java题解之第374题猜数字大小

题目:

题解:

java 复制代码
public class Solution extends GuessGame {
    public int guessNumber(int n) {
        int left = 1, right = n;
        while (left < right) { // 循环直至区间左右端点相同
            int mid = left + (right - left) / 2; // 防止计算时溢出
            if (guess(mid) <= 0) {
                right = mid; // 答案在区间 [left, mid] 中
            } else {
                left = mid + 1; // 答案在区间 [mid+1, right] 中
            }
        }
        // 此时有 left == right,区间缩为一个点,即为答案
        return left;
    }
}
相关推荐
BBB努力学习程序设计6 分钟前
Java 21虚拟线程与平台线程:JVM层面的深度对比与实现原理
java
代码无疆8 分钟前
学点java字节码更易于理解一些特殊的java语法效果
java·后端
BBB努力学习程序设计14 分钟前
Java 8日期时间API完全指南:告别Date和Calendar的混乱时代
java
不能只会打代码21 分钟前
力扣--3433. 统计用户被提及情况
java·算法·leetcode·力扣
知青先生26 分钟前
E9项目调试方式
java·ide
本地运行没问题28 分钟前
从零散编译到一键打包:Maven如何重塑Java构建流程
java
10km34 分钟前
java:延迟加载实现方案对比:双重检查锁定 vs 原子化条件更新
java·延迟加载·双重检查锁定
独自归家的兔40 分钟前
千问通义plus - 代码解释器的使用
java·人工智能
嘟嘟w1 小时前
什么是UUID,怎么组成的?
java
通往曙光的路上1 小时前
认证--JSON
java