Il tuo capo ha scoperto che molti dei suoi dipendenti (incluso te) amano rubare il codice agli altri. Ti ha ordinato di scrivergli un programma che può usare per trovare persone che rubano il codice agli altri.
Compito:
Scrivi un programma / funzione che rilevi se qualcuno ha copiato (parte del) suo codice da qualche altra parte.
Il programma otterrà tutti i programmi esistenti e il programma che dovrebbe testare da due input separati . Modifica: dato che finora non ci sono risposte, puoi usare espressioni regolari!
Produzione
- Il programma dovrebbe quindi generare tutti i pezzi di codice rubati, separati da uno spazio o da una nuova riga. (Potrebbe avere uno spazio o una nuova riga alla fine.)
- Un pezzo di codice viene considerato rubato / copiato se è composto da 10 o più byte successivi . (Mi dispiace, fan di Java!)
- Devi produrre il più possibile, ma se ci sono quelli sovrapposti, puoi ignorarne uno o emetterli entrambi.
Twist:
Come accennato in precedenza, ti piace anche la codifica del nastro adesivo. Ciò significa che tutto il codice verrà copiato e incollato da un sito di scambio di stack! Puoi copiare tutto ciò che vuoi (non limitato al codice in blocchi di codice) e quanto vuoi. (Ma almeno 10 byte) (Stessa regola di cui sopra su ciò che viene considerato rubato / copiato.) (Nota che qualsiasi risposta che è stata pubblicata dopo questa domanda non può essere utilizzata.) Fornisci i collegamenti a dove hai ottenuto il tuo codice da.
Esempi:
Input:
x = document.getElementById("ninja'd");
(il primo input)
y = document.getElementById("id");
(il secondo input)
Produzione:
= document.getElementById("
Input:
foo
(il primo input)
foo+bar
(il secondo input)
Uscita:
niente.
Input:
public static void main(String[] args)
(il primo input)
public static void main(String[] args)
(il secondo input)
Produzione:
main(String[] args)
Input:
for(var i=0; i<x.length; i++){}
(il primo input)
for(var i=0; i<oops.length; i++){break;}
(il secondo input)
Produzione:
for(var i=0; i<
.length; i++){
o
for(var i=0; i< .length; i++){