Это часть функции поиска на сайте.Поэтому я пытаюсь найти способ как можно быстрее достичь конечного результата.
Имейте двоичное число, в котором важен порядок цифр.
Входной номер = 01001
Иметь базу данных других двоичных чисел одинаковой длины.
01000, 10110, 00000, 11111
Я не знаю, как написать, что яделаю, так что я собираюсь сделать это более визуально ниже.
// Zeros mean nothing & the location of a 1 matters, not the total number of 1's.
input num > 0 1 0 0 1 = 2 possible matches
number[1] > 0 1 0 0 0 = 1 match = 50% match
number[2] > 1 0 1 1 0 = 0 match = 0% match
number[3] > 0 0 0 0 0 = 0 match = 0% match
number[4] > 1 1 1 1 1 = 2 match = 100% match
Теперь, очевидно, вы могли бы пойти цифра за цифрой, число за номером и сравнить это таким образом (используя цикл, а что нет).Но я надеялся, что может быть алгоритм или что-то, что поможет.Главным образом потому, что в приведенном выше примере я использовал только 5-значные числа.Но я собираюсь регулярно сравнивать около 100 000 номеров с 200 цифрами в каждом, это много вычислений.
Я обычно имею дело с php и MySQL.Но если случится что-то впечатляющее, я всегда смогу научиться.