Anonymous user
Levenshtein distance: Difference between revisions
added BQN implementation
(added MiniScript example) |
(added BQN implementation) |
||
Line 880:
'rosettacode' -> 'raisethysword' has distance 8
</pre>
=={{header|BQN}}==
Recursive slow version:
<lang BQN>Levenshtein ← {
𝕨 𝕊"": ≠𝕨;
""𝕊 𝕩: ≠𝕩;
𝕨 𝕊 𝕩:
Tail←1⊸↓
𝕨 =○⊑◶⟨1+·⌊´ 𝕊○Tail ∾ Tail⊸𝕊 ∾ 𝕊⟜Tail, 𝕊○Tail⟩ 𝕩
}</lang>
Fast version:
<lang BQN>Levenshtein ← ∾⟜@⊸{¯1⊑(↕≠𝕨)𝕨{(1⊸+⊸⌊`1+⊑»«⌊⊢-𝕨=𝕗˙)𝕩}´⌽𝕩}</lang>
{{out|Example use}}
<lang> "kitten" Levenshtein "sitting"
3
"Saturday" Levenshtein "Sunday"
3
"rosettacode" Levenshtein "raisethysword"
8</lang>
=={{header|Bracmat}}==
|