你将如何定义一个接受两个字符串的函数,比如字符串 x 和字符串 y,并返回第一个字符串(字符串 x)末尾与第二个字符串开头(第二个 y)重叠的元素数。
我认为使用前奏中的 isPrefixOf 来执行此操作是个好主意,因为它会检查一个字符串是否在另一个字符串中,如果是则返回 True 否则返回 False 。但是我对如何返回有多少元素重叠的计数有点困惑。我根据我认为您将如何解决问题编写了一些伪代码。
countElements :: Eq a => (Str a, Str a) -> Int
countElements (x,y) =
if x `isPrefixOf` y == True
then return the count of how many elements overlap
otherwise 0
示例输出为:
countElements (board, directors) = 1
countElements (bend, ending) = 3
这里有什么帮助吗?我不太擅长编写 Haskell 代码。