- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定 6 个具有不同 重量的球。目的是找到这些球中最重的一个。
问题以问答方式进行,即我们必须提出问题,问题设置者为我们提供答案。每个问题包括给出 6 个指标中的 5 个指标。返回的答案是第 3rd 最重和第 2nd 最重球的索引(按此顺序)。我们最多可以问 8 个这样的问题来找到最重的球。
示例:
假设球的索引是 - 1,2,3,4,5,6
。
Q : 1 2 3 4 5 A : 3 4 (here 3 is the third most and 4 is the second most heaviest of the 5 balls)
Q : 1 2 3 4 6 A : 3 4
Q : 1 2 3 5 6 A : 3 5
Q : 1 2 4 5 6 A : 4 5
Q : 1 3 4 5 6 A : 4 5
Q : 2 3 4 5 6 A : 4 5
这 6 个问题足以确定指数为 6 的球是最重的。 (仍然可以再问 2 个问题 - 我们不需要尽量减少问题的数量。此外,这些查询可能会或可能不会对所有 6 个数字进行排序,我们的目标是只找到最重的)。
我正在寻找解决此问题的通用方法(最好不涉及基于案例的分析)。
最佳答案
这好像不是编程。而且我怀疑你编造了这个谜题,因为如果它来自一个谜题网站,他们应该知道它永远不需要超过 5 个问题。
首先,在你的前 3 个问题之后,已知答案是 6。怎么会这样?问题 2 的答案没有改变的事实表明,要么 5 和 6 都 > 4 > 3,要么都 < 3 < 4。在问题 3 中,显示 5 > 3 因此 6 > 3。事实5 出现在 #2 中表示某物大于 5,唯一可能的答案是 6。所以我们完成了!
您只需要知道您正在收集哪些信息并充分应用它。
现在让我们以更通用的方式解决问题,这样我们可以更快地解决问题。
第一轮我们什么都不知道,所以我们加权1 2 3 4 5
.这将产生一个答案 x y
.交流x
与 6
然后再试一次。以下是可能性:
y z
与 z
不是 6
,那么我们的答案是6
出于与之前找到答案相同的推理,在 2 个问题中。y 6
或 6 y
那么它不是x
, y
或 6
.我们交流x
对于其他三个中的每一个,直到第二名答案发生变化。发生这种情况的问题最重,最多 5 个问题。z y
与 z
不是6
然后 6
比y
轻(否则它会把它推下来)。我们现在知道答案不是 x
, y
, z
或 6
.所以我们只需要交换x
与其他两个依次应用与以前相同的推理,在最多 4 个问题中找到最重的问题。关于algorithm - 通过最多问 8 个问题找到最重的球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53749324/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!