Ho affrontato questa domanda in un'intervista:Modifica la distanza tra due espressioni regolari
Data due espressioni regolari, calcolare la distanza di modifica tra di loro. La distanza di modifica viene definita come la minima distanza di modifica tra due stringhe generate rispettivamente dalle due espressioni regolari.
Formalmente, stiamo cercando d(L1,L2) = min { d(x,y) | x from L1, y from L2 }
, dove L1
e L2
sono le lingue generate dalle due espressioni regolari.
Non sono stato in grado di risolverlo durante le interviste. Anche adesso non ho idea di come risolverlo. Qualche idea?
penso che questo è lo stesso come http://www.spoj.com/problems/AMR10B/
Non sono sicuro di seguirlo, l'espressione regolare genera un linguaggio che può essere infinito, non una stringa, come si definiscono le distanze tra due lingue? puoi fornire un esempio? – amit
OK, penso di averti capito - intendi 'd (L1, L2) = min {d (x, y) | x da L1, y da L2} '? – amit
@amit: Sì. Intendevo questo. – Quixotic