Відстань Хеммінга між двома струнами однакової довжини - це кількість позицій, на яких відповідні символи різні. Якщо струни не мають однакової довжини, відстань Хеммінга не визначається.
Виклик
Напишіть програму або функцію, яка знаходить найбільшу відстань Хеммінга серед усіх пар рядків зі списку рядків, підкладених відповідно до правил, описаних нижче.
Персонажі будуть зсередини a-zA-Z0-9.
Рядки можуть бути не однаковими за довжиною, тому для кожного порівняння коротша струна повинна бути прокладена так:
- загортайте рядок спочатку стільки разів, скільки потрібно, щоб відповідати необхідній довжині
- змінювати регістри букв щоразу, коли їх завершують (1-й, 3-й, 5-й тощо)
a-zA-Zпри обгортанні залишайте речі без змін
Наприклад, скажімо, вам потрібно прокладати рядок з 5 символів, ab9Cdщоб він закінчувався 18 символами. Ви закінчите:
ab9CdAB9cDab9CdAB9
^^^^^ ^^^
із ^додаванням під 1-й та 3-й обгортання, щоб виділити зміни в регістрі.
Введення-виведення
Формат вводу / виводу є гнучким. Можна припустити, що вхід має щонайменше два рядки, і що всі рядки матимуть щонайменше один символ.
Вихід - ціле число.
Правила
Це код-гольф . Діють стандартні правила.
Тестові справи
[ "a", "b" ] => 1
[ "a", "b", "c" ] => 1
[ "a", "a", "c" ] => 1
[ "abc", "abcd" ] => 1
[ "abc12D5", "abC34d3", "ABC14dabc23DAbC89d"] => 17
[ "a", "Aaa", "AaaA", "aAaAa", "aaaaaaaaaaaaaa", "AAaAA", "aAa" ] => 8
["AacaAc", "Aab"] => 2
Довідкова реалізація
Я перевірив приклади з (повністю без вольфу) R-кодом, який ви можете спробувати тут, щоб порівняти будь-які інші приклади, які ви можете спробувати зі своїм кодом.
["AacaAc", "Aab"] => 2. Цілеспрямований гольф на мою відповідь «Джеллі» не зміг би цього випадку, але пройшов би всі інші.