【算法分析与设计】寻找假币问题

给出27枚硬币,它们的各种外观完全相同,但有一枚硬币稍重一点,是假币,我们只有一杆秤,试找到一种便捷的方法找出假币……

当然了,直观地感受一下,一个“暴力”的思路就涌了上来——直接从头到尾扫描遍历一趟,找出那个最大的就行了。但是显然,这里算法复杂度是 O ( N ) O(N) O(N),比较麻烦,不符合我们这一问题“尽可能少比较次数”的宗旨。

优化一下,我们容易想到二分查找,进而用将硬币分为2堆+1个,“折半”比较,找出那个special的硬币。
但这样还不够优化……

我们可以随机等分成三份,拿出两组比较,划分的对称性更强

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值