猜测一个数字,只知道提议的数字是更低还是更高?

2023-11-23

我需要猜一个数字。我只能看看我提议的数字是更低还是更高。性能非常重要,所以我想到了以下算法:

假设我要猜测的数字是 600。

  • 我从数字 1000 开始(或者为了获得更高的性能,使用之前数字的平均结果)。

  • 然后我检查 1000 是否高于或低于 600。它更高。

  • 然后我将这个数字除以 2(现在是 500),并检查它是否低于或高于 600。它较低。

  • 然后我找到差值并按以下方式除以 2 以检索新数字:(1000 + 500) / 2。结果是 750。然后我检查该数字。

等等。

这是最好的方法还是有更明智的方法?就我而言,每次猜测大约需要 500 毫秒,并且我需要在尽可能短的时间内猜测相当多的数字。

我可以粗略地假设之前猜测的平均结果也接近即将到来的数字,因此我可以利用其中的一种模式来为自己带来优势。


yes binary search是最有效的方法。Binary Search就是你所描述的。对于 1 到 N 之间的数字Binary Search跑进O(log(n)) time.

这是查找 1-N 之间的数字的算法

int a = 1, b = n, guess = average of previous answers;

while(guess is wrong) {

    if(guess lower than answer) {a = guess;}
    else if(guess higher than answer) {b = guess;}

    guess = (a+b)/2;

} //Go back to while
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

猜测一个数字,只知道提议的数字是更低还是更高? 的相关文章

  • 计算二维笛卡尔坐标中不规则形状的边界

    我正在寻找一种计算不规则形状边界的解决方案 Lats take a look at Square example 如果我有Minimum x and y and Maximum x and y like MaxX 5 MinX 1 MaxY
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • 如何求两个地点的经纬度距离?

    我有一组位置的纬度和经度 怎么找distance从集合中的一个位置到另一个位置 有公式吗 半正矢公式假定地球是球形的 然而 地球的形状更为复杂 扁球体模型会给出更好的结果 如果需要这样的精度 你应该更好地使用文森特逆公式 See http
  • 坐标算法 - 绕中心旋转

    通过查看这张图片 我想您会很好地理解我的问题 图片已删除 网址不再有效 现在返回广告 所以基本上我想要一个函数 它接受一个对象作为参数 并根据我之前添加的对象数量为该对象提供正确的坐标 假设我将所有这些对象添加到一个数组中 objectAr
  • 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

    我正在用这个算法计算弧长 三次贝塞尔曲线的长度 function getArcLength path var STEPS 1000 gt precision var t 1 STEPS var aX 0 var aY 0 var bX 0
  • 求先递增后递减列表的最大值和最小值

    我尝试用谷歌搜索这个问题 但没有取得太大成功 我确信这个问题或类似问题有一个技术名称 但我似乎找不到答案 给定一个列表L整数 即严格递增 然后严格递减 找到该列表的最大值和最小值 例如 L可能 1 2 3 4 5 4 3 2 or 2 4
  • 如何计算 3D Morton 数(交织 3 个整数的位)

    我正在寻找一种快速计算 3D Morton 数的方法 这个网站 http www graphics stanford edu seander bithacks html InterleaveBMN有一个基于幻数的技巧来处理 2D Morto
  • 使用什么算法来确定使系统达到“零”状态所需的最小操作数?

    这是一种更通用的问题 不是特定于语言的 有关要使用的想法和算法的更多信息 系统如下 它登记朋友群体之间的小额贷款 Alice and Bill要去吃午饭 比尔的卡坏了 所以爱丽丝支付了他的餐费 10 美元 第二天Bill and Charl
  • 在一个区域中拟合二维多边形的算法?

    这有标准吗 算法名称 说 我有 10 个不同大小的多边形 我有一个特定大小的区域 我想知道如何填充该区域中的最多多边形 以及它们是如何拟合的 笔记 多边形可以根据限制集进行旋转 一个可能的名称是包装问题 http en wikipedia
  • 覆盖二维平面上给定点的最小圆

    问题 覆盖 2D 平面上给定 N 个点的圆的最小可能直径是多少 解决这个问题最有效的算法是什么 它是如何工作的 这是最小圆问题 http en wikipedia org wiki Smallest circle problem 请参阅参考
  • 当满足动态条件时退出递归函数

    使用来自的函数生成汉明距离 t 内的所有比特序列 https stackoverflow com questions 40813022 generate all sequences of bits within hamming distan
  • Java 中旅行商问题的暴力算法

    我正在学校的数学课上做一个项目 我选择做旅行商问题 这是我一直想进行更多研究的问题 但是 我的暴力求解算法遇到了问题 请前往底部更新查看最新版本代码 如果您知道旅行推销员问题是什么 请跳过本段 尽可能概括地说 TSP 是这样的 您是一名推销
  • 围绕二维坐标系中的特定点缩放

    Below is an image my coordinate system 我想做的是 我想开始围绕画布中的特定点进行缩放 缩放工作正常 但我的问题是我不知道如何计算缩放时移动画布的量 请注意 我我没有使用canvas scale 我只是
  • 对 Java 中 *any* 类的所有实例进行全排序

    我不确定以下代码是否能确保 Comparator 的 Javadoc 中给出的所有条件 class TotalOrder
  • 使用 FIND 命令进行并集、交集和排除?

    我需要使用 find 命令管理列表 假设列表在非不同列表中具有随机名称 即它们的交集不是空集 我能怎么做 A B 查找列表A中除列表B中的文件之外的文件 A 路口 B 查找列表 A 和 B 共有的文件 请咨询here https stack
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 使用Windows 7计算器进行对数计算[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用Windows计算器在科学模式中为了求解一个非常基本的对数方程 但不幸的是 我无法做到这一点 问题是这样的 log 5 125 非常感谢您的帮
  • 使用递归返回嵌套列表中第二小的数字

    我必须归还第二小的使用递归的 python 列表中的数字 以及no loops 我所做的是创建一个辅助函数 它返回列表中 最小 第二小的 值的元组 然后我只取tuple 1 in my second smallest func def s
  • 最小化代表性整数的误差之和

    Given n integers between 0 10000 as D1 D2 Dn where there may be duplicates and n can be huge I want to find k distinct r
  • 确定一组日期的事件重复模式

    我正在寻找一种模式 算法或库 它将采用一组日期并在退出时返回重复的描述 即集合 11 01 2010 11 08 2010 11 15 2010 11 22 2010 11 29 2010 会产生类似 十一月的每个星期一 的结果 有没有人以

随机推荐

  • UIScrollView contentOffset 在另一个视图推送后发生变化

    我有一个UIViewController在 Interface Builder 中 我添加了一个UIScrollView to the UIView 它有一个contentOffset属性等于 0 0 但是当我滚动UIScrollView到
  • 枚举类可以转换为基础类型吗?

    有没有办法转换enum class字段到基础类型 我以为这会是自动的 但显然不是 enum class my fields unsigned field 1 unsigned a my fields field 该分配被 GCC 拒绝 er
  • 是否可以生成独立的 haskell 可执行文件

    假设架构相似 有没有办法生成独立的 haskell 可执行文件以在不同的 Linux 机器上运行 抱歉 我应该说得更清楚 其他机器上可能没有安装 ghc 有点像我正在寻找的 python pyinstaller 您可以使用标志 static
  • java中如何将时间四舍五入到最接近的一刻钟?

    鉴于今天的时间 例如2 24PM 如何让它四舍五入到 2 30PM 同样 如果时间是下午 2 17 我如何让它四舍五入到下午 2 15 Rounding 您需要使用模来截断刻钟 Date whateverDateYouWant new Da
  • 标准库中的 C++11 值和对象示例?

    在 C 11 3p3 中 它指出 一个实体是一个value object 引用 函数 枚举器 类型 类成员 模板 模板特化 命名空间 参数包或此 在 17 6 1 1p1 中指出 C 标准库提供了以下类型实体的定义 宏 values 类型
  • 如何获取今天午夜的 NSDate 对象?

    获取代表当天午夜的 NSDate 对象的最有效方法是什么 iOS 8 中的新 API iOS 8 在 NSCalendar 上包含一个新方法 称为日期开始日 这真的很容易使用 let startOfToday NSCalendar curr
  • Android:无法实例化活动/ClassNotFoundException

    我最近向市场发布了一个应用程序 现在我收到一些用户的错误 该应用程序可能会在启动时崩溃 不幸的是 我无法直接联系他 并且该应用程序在模拟器和我的手机 以及一些朋友的手机 上运行良好 编辑 我想这种情况发生在不止一个用户身上 因为我在市场上收
  • 如何使用Android中的下载管理器将下载的图像存储在内部存储中

    如何使用下载管理器将图像或 mp3 文件保存在内部存储中 Code public void StartDownload String path ContextWrapper cw new ContextWrapper context Fil
  • 检查Android系统设置中是否启用了“自动更新”

    是否可以通过编程方式检查这一点 设置 gt 关于设备 gt 软件更新 gt 自动更新 自动检查更新 None
  • moment.js 从格式数组进行日期验证

    我需要测试输入的日期格式是否正确 我想接受多种日期格式 因此我创建了一个验证函数来测试至少一种格式是否正确 在这种情况下返回 true 我使用 moment js 来测试日期 当我简单地输入硬编码字符串日期格式的条件时 该函数可以正常工作
  • 为什么在 WiX / MSI 设置中限制自定义操作的使用是个好主意?

    为什么在 WiX MSI 设置中限制自定义操作的使用是个好主意 部署是大多数开发的关键部分 请给此内容一个机会 我坚信 通过应用程序设计的微小改变 可以显着提高软件质量 使部署更符合逻辑 更可靠 这就是这个 答案 的全部内容 软件开发 这是
  • 为什么我的 EF Code First 预生成视图没有效果?

    我的上下文中有大约 300 个 DbSet 应用程序加载后的第一个查询 索引字段上的 FirstOrDefault 需要大约 40 秒 为了改进这一点 我尝试使用此处的 T4 模板在 EF 4 3 1 Code First 中使用预生成的视
  • 类型错误:callback.apply 不是函数(Node.js 和 Mongodb)

    当我添加 upsert true 行时 出现以下错误 类型错误 callback apply 不是函数 on routes that end in users competitorAnalysisTextData router route
  • 无法获取 $_SESSION 变量

    In Log in php I have email POST email pass POST pass SESSION type user SESSION email email SESSION pass pass header loca
  • 从 GitHub 删除已关闭的拉取请求

    我不小心发出了错误的拉取请求 最终自己关闭了请求 它现在处于关闭状态 但可以通过直接 URL 访问并显示在我的活动栏上 有没有办法完全删除拉取请求 使其无法再通过 URL 访问或显示在您的活动历史记录中 您无法删除拉取请求yourself
  • 嵌套菜单(子菜单)

    我正在尝试实现子菜单 嵌套菜单 值得一提的是 我正在使用 Hydra 组件 并且之前没有 Redux 的经验 因为这个特定问题 几天前开始学习它 我已按照material ui 上提供的嵌套列表示例https material ui com
  • 如果没有“function”关键字,这个对象方法定义如何工作?

    我无意中遗漏了这一点 发现了这一点function关键词 通常情况下foobar下面模块中的方法将声明为foobar function arg1 但有趣的是 以下内容至少在某些浏览器中有效 例如Chrome版本44 0 2403 157 m
  • OS X 上 Pygame 的抗锯齿颜色错误

    我在运行 OS X 的 Macbook Pro 非视网膜 上使用 Pygame 当我尝试创建抗锯齿线条或圆圈时 它似乎显示为错误的颜色 这是一个例子 import sys pygame random math import pygame g
  • 登录 .Net Core 控制台应用程序无法正常工作

    我正在关注这个教程 https andrewlock net using dependency injection in a net core console application 并相应地安装了软件包 但日志没有在任何地方打印 这是我的
  • 猜测一个数字,只知道提议的数字是更低还是更高?

    我需要猜一个数字 我只能看看我提议的数字是更低还是更高 性能非常重要 所以我想到了以下算法 假设我要猜测的数字是 600 我从数字 1000 开始 或者为了获得更高的性能 使用之前数字的平均结果 然后我检查 1000 是否高于或低于 600