Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Detecting transpositions

by sgifford (Prior)
on Aug 06, 2003 at 07:52 UTC ( [id://281294]=note: print w/replies, xml ) Need Help??


in reply to Detecting transpositions

At first blush, this seems to work. Not sure about the performance; I'll poke at it a bit more. It returns the position of the match, which can be 0, so you have to test if the result is defined.
sub comp { my($s1,$s2)=@_; my @s1 = split('',$s1); my @s2 = split('',$s2); my $transpose; for (my $i=0;$i<@s1;$i++) { if ($s1[$i] ne $s2[$i]) { if ($transpose) { return undef; } # Uh-oh; they differ. Is this a transposition? if ( ($s1[$i+1] eq $s2[$i]) && ($s1[$i] eq $s2[$i+1])) { $transpose = $i; $i++; } } } return $transpose; }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://281294]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2024-03-29 10:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found