基本上我想做的是找到Java中boolean数组的绝对值。

显然,我知道如何使用for循环手动进行编码,但是我要提高算法效率,并且如果使用位操作(或某些我没有位域经验的内置方法)会更快大概。

顺便说一句,当我说绝对值​​时,我的意思是如果我的数组是{true,false,false,true...},那么每个真值都将使绝对值增加1,类似于微积分中的矢量。

最佳答案

您可以使用java.util.BitSet。它提供了一种方法cardinality,该方法对设置的位数进行计数。

09-12 06:11