Napotkałem to pytanie w wywiadzie:Edytuj odległość między dwoma wyrażeniami regularnymi
Przy dwóch wyrażeń regularnych obliczyć odległość edycji między nimi. Odległość edycji jest definiowana jako najmniejsza odległość edycji między dowolnymi dwoma ciągami wygenerowanymi odpowiednio przez dwa wyrażenia regularne.
Formalnie, szukamy d(L1,L2) = min { d(x,y) | x from L1, y from L2 }
, gdzie L1
i L2
są językami wygenerowanymi przez dwa wyrażenia regularne.
Nie udało mi się rozwiązać tego problemu podczas wywiadów. Nawet teraz nie mam pojęcia, jak go rozwiązać. Jakieś pomysły?
myślę, że to jest taki sam jak http://www.spoj.com/problems/AMR10B/
Nie jestem pewien, czy podążam, wyrażenie regularne generuje język, który może być nieskończony, a nie ciąg, jak definiujesz odległości między dwoma językami? czy możesz podać przykład? – amit
OK, myślę, że cię mam - masz na myśli 'd (L1, L2) = min {d (x, y) | x od L1, y od L2} '? – amit
@amit: Tak. Miałem na myśli, że. – Quixotic