相关疑难解决方法(0)

如何计算32位整数中的设置位数?

代表数字7的8位看起来像这样:

00000111
Run Code Online (Sandbox Code Playgroud)

设置三位.

什么算法来确定32位整数中的设置位数?

algorithm binary bit-manipulation hammingweight iec10967

838
推荐指数
31
解决办法
52万
查看次数

算法 - 区分一组给定二进制数的最小位数

假设我们给出了K不同的二进制数,每个都有长度N(N可以很大).是否有一种有效的算法来确定将这些数字相互区分所需的最小位数?

例如:

给定110011,我们只需要检查第一个(或最后一个)位来区分它们,所以最小数量是1.

鉴于1000,0100,00100001,我们需要检查至少三位来区分,所以最少数量为3.

鉴于0000,0100,10001100,我们只需要检查的前两位,因此最小号码是2.

后续:输出要检查的相应索引.


编辑:假设这些二进制数表示为,...,.这个问题相当于找到最小的子序列,以便...,是不同的数字.a1[0,1,…,N-1]aK[0,1,…,N-1][i,j,…,m][0,1,…,N-1]a1[i,j,…,m]aK[i,j,…,m]

algorithm

5
推荐指数
1
解决办法
1317
查看次数