LeetCode算法题-Guess Number Higher or Lower(Java实现)

java GuessNumber给你一个1至100之间的整数,请猜测这个数java ava GuessNumber给你一个1至100之间的整数,请猜测这个数java 立即下载

这是悦乐书的第211次更新,第224篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第79题(顺位题号是374)。我们正在玩数字游戏。 游戏如下:我从1到n中选择一个数字。 你必须猜测我选择了哪个数字。每次你猜错了,我都会告诉你这个数字是高还是低。您调用预定义的API guess(int num),它返回3个可能的结果(-1,1或0):

-1:我的数字较低
1:我的数字更高
0:猜对了!

例如:

输入:n = 10,pick = 6
输出:6

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

暴力解法,直接使用for循环,依次调用guess(int num)方法,直到猜对了为止。但是此解法超时。

此解法时间复杂度是O(n),空间复杂度是O(1)。

public int guessNumber(int n) {
    for (int i=1; i<n; i++) {
        if (guess(i) == 0) {
            return i;
        }
    }
    return n;
}

03 第二种解法

使用二分查找法来判断,在求中间数的时候,需要换种写法mid = (high-low)/2 + low;或者将类型换成long,这样做是为了避免溢出。

此解法的时间复杂度是O(log n),空间复杂度是O(1)。

public int guessNumber2(int n) {
    int low = 1;
    int high = n;
    while (low <= high) {
        int mid = (high-low)/2 + low;
        int result = guess(mid);
        if (result == 0) {
            return mid;
        } else if(result == 1) {
            low = mid + 1;
        } else if(result == -1) {
            high = mid - 1;
        }
    }
    return -1;
}

04 小结

算法专题目前已连续日更超过两个月,算法题文章79+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

【Chipyard】Gemmini快速上手 Gemmini 加速器在 ResNet50 推理任务中表现出计算密集型优势,核心操作周期分布符合深度学习模型特征,推理预测流程完整且测试通过,为后续硬件优化和模型部署提供了有效参考。 阅读详情

相关推荐

QCC308x/3095收发一体:TX/RX双模一拖二与多编码广播实战解析

本文深度解析高通QCC308x/3095蓝牙音频芯片的TX/RX双模功能与广播应用。芯片支持发射和接收模式下的“一拖二”连接,并能实现LE Audio多设备广播,显著提升多设备音频切换体验与商业广播能力,适用于健身、导览等丰富场景。

g9h0i1的博客 1008

【uva 1612】Guess(算法效率,2种想法)

题意:已知 N 位选手的3题的预期得分,得分要不全拿,要不为0。且知道最后的实际名次,而且得分相同的选手,ID小的排在前面。问这样的名次可能吗。若可能,输出最后一名的最高可能得分。(N≤16384) 解法:(P.S.现在让我来做个口胡选手......(—o—) 不打算打代码了。)我有2种想法:1.排序+扫描法。将 N 位选手可能得到的所有分数 N*(1+3+3+1)>10^5 算出来,全部...

weixin_34111790的博客 166

智能车竞赛循迹控制:基于状态机的直道、弯道、十字路口处理策略

在嵌入式系统与自动控制领域,PID控制算法是实现精确运动控制的基础。其原理是通过比例、积分、微分三个环节的线性组合,对系统误差进行实时校正,从而实现对目标值的快速、稳定跟踪。这项技术的核心价值在于为各类自动控制系统提供了稳定、可靠且易于实现的解决方案,广泛应用于机器人、无人机、工业自动化等场景。在智能车循迹这类特定应用中,赛道环境复杂多变,单一的PID控制器难以应对直道、弯道、十字路口等不同赛道元素的控制需求。此时,有限状态机(FSM)作为一种高效的**决策框架**,能够根据实时感知的赛道特征(如边线曲率、

weixin_34034261的博客 283

java guess_Guess.java

package work;import javax.swing.*;import java.awt.event.*;import java.util.*;public class Guess extends JFrame implements ActionListener { //Guess继承JFrame类,继承 ActionListener接口;private JLabel userlabel...

weixin_33101399的博客 307

SAP中MRP运行计划行超限问题的分析与解决

SAP中基于生产性物料的采购特点,通常会采用采购计划协议的方式进行采购。其具体的采购计划通常来自于成品计划独立需求,然后通过物料清单,经由MRP跑出。 在采购计划协议中的计划行中,存在一个计划行号,随着MRP在不断跑出新的计划行,该行号资源会消耗完。当计划行号消耗完后,MRP不会再跑出新的计划行。且在MD04或MD02中看不到类似提示信息。此时可以通过MD05来查看是否出现类似下图的提示信息。 ...

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 3845

从地方政府网站抓取政务公开数据:Python爬虫技术详解

在本文中,我们通过具体实例介绍了如何使用Python编写爬虫,从地方政府门户网站抓取政务公开数据。我们使用了requestsSelenium等最新技术,结合SQLite数据库存储抓取的数据,最后使用matplotlib进行数据可视化分析。通过本项目,您可以掌握如何抓取政府网站的公开数据,并将其进行清洗、存储和分析。这些技术对于进行政府政策分析、公共服务分析等方面具有重要的实际意义。希望通过本文的介绍,您能够更好地理解政务数据抓取的流程和方法,并能在实际工作中运用这些技术进行数据采集和分析。

2201_76125261的博客 1704

作业四:会话管理

Servlet过滤器与事件处理1.1.2.3.2.1.2.3.3.1.2.3.4.1.2.3. 1. 1. 2. 3. 2. 1. 2. 3. 3. 1. 2. 3. 4. 1. 2. 3.

麦克斯韦小迷妹儿~的博客 1384

YOLOv5改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

本文给大家带来的2024.3月份最新改进机制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络CPA-Enhancer通过引入链式思考提示机制,实现了对未知退化条件下图像的自适应增强。该方法的核心在于能够利用CoT提示对图像退化进行动态分析和适应,从而显著提升物体检测性能。

Snu77的博客 2224

[leetcode-375]Guess Number Higher or Lower II(java)

这道题只要利用动态规划的算法,我们需要注意这样一个事实。 E(i,j) = min( k + max(E(i,k-1),E(k+1,j))(本来想用语言描述一下,但是怎么说,都表达不清楚) 其中E(i,j)表示范围在(i,j)之间的最优值。显然,我们最终要求的结果为E(1,n) k实际上是在遍历i,j时所猜的值,因此,k+max(E(i,k-1),E(k+1,j))实际上表示当猜数K时所需要的

中华胡杨的专栏 2167

ITIL 4 讲解:服务目录

最近一直比较忙,没有时间写文章了。今天有空,写写服务目录。 在最近的项目中,服务目录是比较热的话题。金融行业大部分银行、证券、金融公司都实行ITIL流程管理有些年头了,ITIL中最基础的服务请求、事件、问题和变更都已经实施完毕,目前客户在运维领域做的项目大部分都要求整理服务目录,实行服务级别管理。 服务目录介绍 首先解释一下什么是服务目录。服务目录在ITIL 4的定义是:有关服务提供商的所有服务和服务产品的结构化信息,与特定目标受众相关。这个解释有些晦涩难懂,简单来说就是提供给业务用户的服务项,就像饭

雅子MM的专栏 6468

Linux内存从0到1学习笔记(10.1 BugsShooter之cma配置过小导致页迁移繁忙而内存申请失败)

通过向武神讨教,顺便记录cma内存有空间但页繁忙(页正被访问,无法迁移)迁移不了导致cma内存分配失败的排查过程。

从0到1,突破自己 1万+

guess在Java中用法_LeetCode算法题-Guess Number Higher or Lower(Java实现)

这是悦乐书的第211次更新,第224篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第79题(顺位题号是374)。我们正在玩数字游戏。 游戏如下:我从1到n中选择一个数字。 你必须猜测我选择了哪个数字。每次你猜错了,我都会告诉你这个数字是高还是低。您调用预定义的API guess(int num),它返回3个可能的结果(-1,1或0):-1:我的数字较低1:我的数字更高0:...

weixin_33526515的博客 359

C#项目实战——【实例】企业人事管理系统(二):4、数据库与数据表设计;5、创建项目;

(1)展开新建的db_PWMS数据库节点,选中“表”节点,单击鼠标右键,在弹出的快捷菜单中选择“新建表”命令,如下图:(2)在SQL Server 2008管理器的右边显示一个新表,这里输入要创建的表中所需要的字段,并设置主键,如下图:(3)单击“保存”按钮,弹出“选择名称”对话框,如下图,输入要新建的表名“tb_Login”,单击“确定”按钮,即可在数据库中添加一个表。

做有价值的事,积累有价值的笔记! 1622

LeetCode 375. Guess Number Higher or Lower II

原题网址:https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 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. Ev

James Pan 2836

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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 h

SparkSnail 1929

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Leetcode】Guess Number Higher or Lower II

题目链接:题目: 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 I picke

业精于勤,荒于嬉 4371

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

leetcode Guess Number Higher or Lower题解

题目描述: We are playing the Guess Game. The game is as follows: I pick a number from1ton. You have to guess which number I picked. Every time you guess wrong, I'll tell you whether the number is hi...

leo_weile的博客 186

Guess Number Higher or Lower

Guess Number Higher or Lower Description 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, ...

mcrwayfun,欢迎你 609

【LeetCode】374. Guess Number Higher or Lower 猜数字大小(Easy)(JAVA)

【LeetCode】374. Guess Number Higher or Lower 猜数字大小(Easy)(JAVA) 题目地址: https://leetcode.com/problems/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 picke

qq_16927853的博客 212

leetcode(375):Guess Number Higher or Lower II

原题: 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 I picked is

sunwill的博客 843

374. Guess Number Higher or Lower

374. Guess Number Higher or Lower

weixin_45428910的博客 406

Leetcode374. Guess Number Higher or Lower

@小花 还是一道easy难度的题目,直接放题目好了。 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

无忌的博客 392

374. Guess Number Higher or Lower(easy)

Easy 2621299FavoriteShare We are playing the Guess Game. The game is as follows: I pick a number from1ton. You have to guess which number I picked. Every time you guess wrong, I'll tell you ...

SourDumplings的博客 226

【leetcode刷题】[简单]374. 猜数字大小(guess number higher or lower)-java

猜数字大小 guess number higher or lower题目分析解答 题目 我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。 你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0): -1 : 我的数字比较小 1 : 我的数字比较...

mikuluna的博客 415
上一篇: 2019,不如我们重新来过!
下一篇: LeetCode算法题-Ransom Note(Java实现)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值