Проверьте строку, если буква используется только один раз на Haskell - PullRequest
0 голосов
/ 13 октября 2019

Как проверить, что каждая буква используется только один раз в строке, введенной пользователем, и вернуть логическое значение, если true

1 Ответ

2 голосов
/ 13 октября 2019

Для

appearsOnlyOnce :: String -> Bool

неэффективный (квадратичный) способ сделать это -

appearsOnlyOnce [] = True
appearsOnlyOnce (x:xs)
    | x `elem` xs = False
    | otherwise = appearsOnlyOnce xs

Более эффективным, но более сложным способом будет сортировка и проверка соседних элементов. .

...