【发布时间】:2013-02-10 00:59:19
【问题描述】:
在 C、Ruby 或 PHP 中,如何获取位数组中所有设置位的偏移量。例如:
Bitarray: 1 0 0 1 0
Offset: 5 4 3 2 1
Yields 2 and 5.
10001 => {1,5}
11 => {1,2}
1001001 => {1,4,7}
最明显的解决方案是首先执行反向 Find first set 以了解长度,然后遍历位,保存偏移量/索引。然而,这似乎不是很聪明。像 FFSR 这样多次减法可能会更好。
【问题讨论】:
-
您使用什么语言,到目前为止您尝试过什么?
-
语言可以是 C 或 Ruby/PHP。
-
那么,在 C 中,你的位数组表示是什么?
-
@GeorgeSkoptsov 语言不相关,因为这是一个算法问题。您可以用任何语言证明您的概念或复杂性。
标签: php c ruby offset bitarray