Эта задача заключается в написании кода для решения следующей проблемы.
Учитывая две строки A и B, ваш код должен вывести начальный и конечный индексы подстроки A со следующими свойствами.
- Подстрока A также должна соответствовать некоторой подстроке B с одной заменой одного символа в строке.
- Больше не должно быть подстроки A, удовлетворяющей первому свойству.
Например:
A = xxxappleyyyyyyy
B = zapllezzz
Подстрока apple
с индексами 4 8
(индексирование от 1) будет правильным выводом.
Гол
Оценка вашего ответа будет равна сумме длины вашего кода в байтах + времени в секундах, которое требуется на моем компьютере при работе со строками A и B длиной 1 миллион каждая.
Тестирование и ввод
Я буду запускать ваш код на двух строках длиной 1 миллион, взятых из строк в http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/
Входные данные будут стандартными и будут просто двумя строками, разделенными новой строкой.
Языки и библиотеки
Вы можете использовать любой язык со свободно доступным компилятором / интерпретатором и т. Д. для Linux и любых библиотек с открытым исходным кодом и свободно доступных для Linux.
Моя машина Время будет запущено на моей машине. Это стандартная установка Ubuntu на восьмиъядерный процессор AMD FX-8350. Это также означает, что мне нужно иметь возможность запускать ваш код. Как следствие, используйте только легкодоступное бесплатное программное обеспечение и, пожалуйста, включите подробные инструкции по компиляции и запуску вашего кода.
if(hash(str1 == test1 && str2 == test2)) print("100,150") else ..
- мысли?