- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
与有缺陷的球问题类似,您有 n 个球,但有未知数量的有缺陷的球和好球。至少有 1 个好球和至少 1 个有缺陷的球。所有好球的重量都相同,所有有缺陷的球的重量都相同,但好球的重量比有缺陷的球轻,并且在平衡的情况下,将有缺陷的球与好的球分开。
我天真的尝试将第一个球放在一个列表中,然后遍历整个列表,将它们相应地放在各自的列表中。然而,这显然是一个 O(n) 的解决方案。我想知道是否还有其他更有效的方法?
最佳答案
在最坏的情况下,您找不到比 O(n) 权重更好的解决方案。有 2^n 种可能的结果(2^n 种为每个球分配“好”或“坏”的方法)。每次称量都有三种可能的结果,因此 m
次称量可以区分 3^m
种可能的结果。
因此,要区分所有 2^n 种可能的结果,您至少需要 log3(2^n) 次权重,等于 n*log3(2) = O(n)。
因此,在最坏的情况下,平凡的解决方案(取一个球并将其与其他每个球权衡)是渐进的最佳解决方案。
注意:这个证明基于与比较排序不能渐近优于 O(n*logn) 的证明相同的思想。
关于algorithm - 从一组 n 个球中找出有缺陷的球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134222/
我想捕捉发送到我的窗口的按键以存储每个键的状态,并区分键的左右实例,如 WM_LCONTROL 和 WM_RCONTROL. 因为 WM_KEYUP/DOWN 不提供此功能,所以我转向原始输入,我需要
我有以下代码: Area here jQuery: $('#area').on('mouseenter', function(event){ $('#area').addC
这个问题在这里已经有了答案: Why does a RegExp with global flag give wrong results? (7 个答案) 关闭 7 个月前。 我向你保证我没有说谎。
我想知道以下问题的答案。 1) 如果我尝试使用 AVAudioSession 播放音频,而 iphone 扬声器有故障/有缺陷/不工作,会发生什么情况? 2) 有什么方法可以通过程序检查扬声器是正常工
我是一名优秀的程序员,十分优秀!