面试的一个问题是:给定一个三元字符串,找到仅包含给定三元字符串的一个或两个字符的连续子字符串的数量。三元字符串是最多由 3 个字符组成的字符串。例如:bcabb 是集合 {a,b,c} 上的三元字符串。 上面例子的答案是:b,c,a,b,b,bc,ca,ab,bb 即.,9。
注意:子字符串由开始和结束索引决定,而不是唯一性。
谁能告诉我这个问题应该遵循什么算法。
最佳答案
我无法完全理解你在说什么,但从示例和描述中我认为答案将是 2 * strlen (string) - 1
。这是因为您有给定字符串中的 strlen (string)
个单长度字符串和 strlen (string)
个 2 长度子字符串。
关于包含给定三元字符串的一个或两个字符的连续子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12709833/