【发布时间】:2013-02-07 08:36:24
【问题描述】:
取自编码面试:
您将如何以 O(1) 的时间复杂度实现具有 increment 的无限二进制计数器?
我想计算最右边0的第一个和第二个位置,但我不确定如何实现。
“无限计数器”表示您可以增加无限次(大于 MAX_INT)。
【问题讨论】:
-
什么是无限二进制计数器?
-
sniff sniff...我发现了一些家庭作业...
-
什么?增量总是 O(1),问题是什么?
-
@StenPetrov:真的吗?对于任意长度整数?我不这么认为。
-
@JonSkeet 啊哈我明白了……他说的是一个非常大的柜台。感谢您的澄清。那么如果目的是计数使其成为1的链表并且计数器的值是1的个数,递增/递减变为O(1),只是不要尝试其他操作:D
标签: c# binary bit-manipulation