我有N
独特元素,索引从0开始,以及使用这些元素创建的数组的数据库。数据库是不变的,不会改变。给出一个查询数组,对于每个调用都是不同的。快速选择至少有k个元素与主阵列相同的阵列
我必须选择与查询数组至少有K
元素(例如一半)的db数组。
一种解决方案我认为:具有长度N
的位阵列,设置对应于查询堆元件,并通过整体分贝行走一次,滤除阵列与< K
比特。这是很可扩展性,但也有点慢,更快的方法似乎是可能的......
注:
- 查询阵列可以有元素不出现在任何数据库阵列。
- 没有数组(数据库或查询)有重复的元素。
- 可以在db数组上进行预处理,以便使某些操作更快,并根据需要为内存提供速度。
db数组中的值是否有任何范围? – thepace
@thepace不,元素不一定是数字。 – Bruce