java - java中对位集/位字符串求和的最佳方法是什么

标签 java performance addition bit bitset

假设我有多个 0 和 1 序列。我需要在不同字符串中的所有相同索引处添加值

110111111111000101111111110000000001111011000111110  
000000000000011001001000011111000110111100000000011  
111111000100011001001000011111000110111100000000001
000110000000011001001000011111000110000000000000010
111111000100011001001000011111000110111100001111111  

结果会是这样的

3324............................................243

最好的方法是什么?

位串的长度约为。 200并且都具有相同的长度。

数据位于String[] arr中,数组的每个元素都有一组0和1,即arr[0] = 110111111111000101111111110000000001111011000111110依此类推...

最佳答案

如果输入字符串的数量少于 10 个,你可以这样做。

String[] input = {"110111111111000101111111110000000001111011000111110",
    "000000000000011001001000011111000110111100000000011",
    "111111000100011001001000011111000110111100000000001",
    "000110000000011001001000011111000110000000000000010",
    "111111000100011001001000011111000110111100001111111"};
int[] counters = new int[input[0].length()];

for (String s : input) {
    for (int i = 0; i < s.length(); i++) {
        if (s.charAt(i) == '1') {
            counters[i]++;
        }
    }
}

for (int i = 0; i < counters.length; i++) {
    System.out.print(counters[i]);
}

关于java - java中对位集/位字符串求和的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28600321/

相关文章:

performance - Haskell 和 C++ 之间的 Coin Change 性能差异

python - python中的前缀符号解析

java - 线程对象的run方法

java - 类级约束验证错误使 Arjuna TwoPhaseCoordinator.beforeCompletion 失败

android - 统一android : notifications and performance

Java JList 模型 addElement() 破坏了列表的视觉表示

php - php 中的简单添加?

java - 将字母数字字符串转换为整数?

java动态类加载

mysql - 使用 mysql COUNT(*)