Longest substrings without repeating characters: Difference between revisions
Content added Content deleted
(→{{header|Vlang}}: Rename "Vlang" in "V (Vlang)") |
Drkameleon (talk | contribs) (added Arturo) |
||
Line 200: | Line 200: | ||
longest : 'z' |
longest : 'z' |
||
</pre> |
</pre> |
||
=={{header|Arturo}}== |
|||
<syntaxhighlight lang="arturo">unrepeatableSubstrings: function [s][ |
|||
result: [["",0]] |
|||
if zero? s -> return [] |
|||
if one? s -> return @[s] |
|||
loop 0..dec size s 'a [ |
|||
if (a+1) =< dec size s [ |
|||
loop a..dec size s 'b [ |
|||
substr: to :string slice s a b |
|||
ss: size substr |
|||
if and? -> ss >= last maximum result 'x -> last x |
|||
-> substr = unique substr [ |
|||
result: (select result 'x -> ss = last x) ++ @[@[substr, ss]] |
|||
] |
|||
] |
|||
] |
|||
] |
|||
result: unique map result 'x -> first x |
|||
return result |
|||
] |
|||
loop ["xyzyabcybdfd", "xyzyab", "zzzzz", "a", ""] 'str -> |
|||
print [str "=> longest unrepeatable substring:" unrepeatableSubstrings str]</syntaxhighlight> |
|||
{{out}} |
|||
<pre>xyzyabcybdfd => longest unrepeatable substring: [zyabc cybdf] |
|||
xyzyab => longest unrepeatable substring: [zyab] |
|||
zzzzz => longest unrepeatable substring: [z] |
|||
a => longest unrepeatable substring: [a] |
|||
=> longest unrepeatable substring: []</pre> |
|||
=={{header|AutoHotkey}}== |
=={{header|AutoHotkey}}== |