Questa sfida riguarda la scrittura di codice per risolvere il seguente problema.
Date due stringhe A e B, il codice dovrebbe generare gli indici iniziale e finale di una sottostringa di A con le seguenti proprietà.
- La sottostringa di A dovrebbe anche corrispondere ad una sottostringa di B con fino a una sostituzione di un singolo carattere nella stringa.
- Non dovrebbe essere più presente una sottostringa di A che soddisfi la prima proprietà.
Per esempio:
A = xxxappleyyyyyyy
B = zapllezzz
La sottostringa apple
con indici 4 8
(indicizzazione da 1) sarebbe un output valido.
Punto
Il punteggio della tua risposta sarà la somma della lunghezza del tuo codice in byte + il tempo in secondi che impiega il mio computer quando viene eseguito sulle stringhe A e B di lunghezza 1 milione ciascuna.
Test e input
Eseguirò il tuo codice su due stringhe di lunghezza 1 milione prese dalle stringhe in http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/
L'input sarà su standard in e sarà semplicemente due stringhe, separate da una nuova riga.
Lingue e biblioteche
Puoi usare qualsiasi lingua che abbia un compilatore / interprete / ecc. Liberamente disponibile. per Linux e tutte le librerie che sono anche open source e disponibili gratuitamente per Linux.
La mia macchina I tempi verranno eseguiti sulla mia macchina. Questa è un'installazione ubuntu standard su un processore a otto core AMD FX-8350. Questo significa anche che devo essere in grado di eseguire il tuo codice. Di conseguenza, utilizzare solo software gratuito facilmente disponibile e includere istruzioni complete su come compilare ed eseguire il codice.
if(hash(str1 == test1 && str2 == test2)) print("100,150") else ..
-- pensieri?