给定n枚硬币,其中一些较重,找到重硬币的数量?
给定n个硬币,其中一些较重,使用O(log ^ 2 n)称量来查找重硬币的数量的算法。 请注意,所有重磅硬币的重量都相同,所有重磅硬币的重量也相同。
给你一个平衡点,你可以用它来比较两个不相交的硬币子集的权重。 请注意,天平仅指示哪个子集较重,或者它们是否具有相同的权重,而不是绝对权重。
我不会放弃整个答案,但我会帮你分解它。
O(log(n))
算法来找到一个重的硬币。 O(log(n))
算法来将一个组合分成两组,其中重和轻计数等于最多两个剩余部分(当没有每个剩余量时)。 提示:
O(log(n))
提示二进制搜索 O(log(n))
算法O(log^2(n))
? 上一篇: Given n coins, some of which are heavier, find the number of heavy coins?