Найдите самый длинный префикс битовых массивов

Я пытаюсь найти быстрый алгоритм, который ищет самый длинный префикс из нескольких битовых массивов. В моем приложении эти битовые массивы могут быть бесконечно длинными и иметь переменную длину. Например, если у меня есть эти битовые массивы:

0b1011001
0b1001101
0b1001010
0b1010100

Самый длинный префикс будет 10. В настоящее время я выполняю операции OR и NAND для битовых массивов, чтобы найти их общие 0 и 1, и объединяю результаты XOR вместе.

OR
0b1011111

NAND
0b0111111

XOR
0b1100000

Есть ли более быстрое решение?

5
задан Mox 27 September 2018 в 13:51
поделиться