To wyzwanie dotyczy pisania kodu w celu rozwiązania następującego problemu.
Biorąc pod uwagę dwa ciągi A i B, kod powinien wyświetlać indeksy początkowe i końcowe podłańcucha A o następujących właściwościach.
- Podciąg A powinien również pasować do niektórych podciągów B z maksymalnie jednym podstawieniem pojedynczego znaku w ciągu.
- Nie powinno być już podłańcucha A, który spełnia pierwszą właściwość.
Na przykład:
A = xxxappleyyyyyyy
B = zapllezzz
Podciąg apple
z indeksami4 8
(indeksowanie od 1) byłby prawidłowym wyjściem.
Wynik
Wynik twojej odpowiedzi będzie sumą długości twojego kodu w bajtach + czas w sekundach, jaki zajmuje mój komputer, gdy działa na ciągach A i B o długości 1 miliona każdy.
Testowanie i wprowadzanie
Uruchomię twój kod na dwóch ciągach o długości 1 miliona pobranych z ciągów w http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/
Dane wejściowe będą w standardzie i będą po prostu dwoma ciągami znaków, oddzielonymi nową linią.
Języki i biblioteki
Możesz używać dowolnego języka, który ma swobodnie dostępny kompilator / tłumacz / etc. dla Linuksa i wszelkich bibliotek, które są również open source i swobodnie dostępne dla Linuksa.
Moja maszyna Czasy zostaną uruchomione na moim komputerze. Jest to standardowa instalacja ubuntu na ośmiordzeniowym procesorze AMD FX-8350. Oznacza to również, że muszę być w stanie uruchomić Twój kod. W związku z tym używaj tylko łatwo dostępnego bezpłatnego oprogramowania i dołącz pełne instrukcje, jak skompilować i uruchomić kod.
if(hash(str1 == test1 && str2 == test2)) print("100,150") else ..
-- myśli?