当前位置: 首页 > news >正文

LeetCode374. 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 will tell you whether the number I picked is higher or lower than your guess.

You call a pre-defined API int guess(int num), which returns three possible results:

-1: Your guess is higher than the number I picked (i.e. num > pick).
1: Your guess is lower than the number I picked (i.e. num < pick).
0: your guess is equal to the number I picked (i.e. num == pick).
Return the number that 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

Constraints:

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

二、题解

/** * Forward declaration of guess API.* @param  num   your guess* @return 	     -1 if num is higher than the picked number*			      1 if num is lower than the picked number*               otherwise return 0* int guess(int num);*/class Solution {
public:int guessNumber(int n) {int l = 1,r = n;while(l <= r){int mid = l + ((r - l) >> 1);if(guess(mid) == 0) return mid;else if(guess(mid) == 1) l = mid + 1;else r = mid - 1;}return 0;}
};

相关文章:

  • 关于C++的花括号初始化的方式解释及示例
  • AI大模型学习笔记之四:生成式人工智能(AIGC)是如何工作的?
  • 【数据结构与算法】【小白也能学的数据结构与算法】递归 分治 迭代 动态规划 无从下手?一文通!!!
  • 北斗卫星在物联网时代的应用探索
  • 2024牛客寒假算法基础集训营3
  • Three.js蒙皮骨骼变化原理 | 逆推蒙皮网格的世界位置
  • STM32CubeMX,定时器之定时功能,入门学习,如何设置prescaler,以及timer计算PWM输入捕获方法(重要)
  • 机器学习系列——(十五)随机森林回归
  • 【数据分享】1929-2023年全球站点的逐日平均风速数据(Shp\Excel\免费获取)
  • 搭建macOS开发环境-1:准备工作
  • 2.0 Zookeeper 安装配置
  • 从 F-Droid 安装 termux
  • 回归预测模型:MATLAB多项式回归
  • 深入探究 HTTP 简化:httplib 库介绍
  • MyBatis中#和$符的区别,sql注入问题,动态sql语句
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [译]如何构建服务器端web组件,为何要构建?
  • 【RocksDB】TransactionDB源码分析
  • CEF与代理
  • classpath对获取配置文件的影响
  • cookie和session
  • hadoop集群管理系统搭建规划说明
  • JavaScript创建对象的四种方式
  • miaov-React 最佳入门
  • Mybatis初体验
  • PV统计优化设计
  • Redis学习笔记 - pipline(流水线、管道)
  • Vue组件定义
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 前端之React实战:创建跨平台的项目架构
  • 如何解决微信端直接跳WAP端
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • ​卜东波研究员:高观点下的少儿计算思维
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $.ajax()
  • (4.10~4.16)
  • (day 12)JavaScript学习笔记(数组3)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (zt)最盛行的警世狂言(爆笑)
  • (二)windows配置JDK环境
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .Net7 环境安装配置
  • .net中应用SQL缓存(实例使用)
  • .sys文件乱码_python vscode输出乱码
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @media screen 针对不同移动设备
  • @test注解_Spring 自定义注解你了解过吗?