I'll gladly let you have all the set theory and epsilon-delta
int rvdn(int n, char* string, int stringlen) {
for(int i = 0; i < stringlen; i++)
for(int j = i; j < stringlen; j++)
if(string[i] == string[j]) return 0;
return 1; }
rvdn str = (sort str) == (nub $ sort str)

. It took the execution time of my Haskell program for going through /usr/share/dict/words (234937 lines, 2486824 bytes) from ~1.7 seconds to ~1.5 seconds.
.
rvdn :: (Eq a) => [a] -> Bool -- to keep the monomorphism restriction from biting you rvdn = any (\x -> (head x) `elem` (tail x)) . init . tails
Comment