📅  最后修改于: 2023-12-03 15:41:16.280000             🧑  作者: Mango
这个问题可以用暴力枚举的方法来解决。我们可以枚举所有可能的子串,然后检查它是否包含给定的三元字符串中的至少一个字符。如果是,则计数器加一。最后返回计数器的值即可。
代码示例:
def count_substrings(s: str, t: str, u: str) -> int:
count = 0
for i in range(len(s)):
for j in range(i+1, len(s)+1):
substring = s[i:j]
if all(c in substring for c in [t, u]):
count += 1
return count
代码说明:
s
是原字符串;t
和 u
是要包含的三元字符串中的两个字符;count
是计数器,记录满足条件的子串数量;i
,内层循环枚举子串的终止位置 j
。注意,这里的 range
函数中的终止位置需要加一。这样可以枚举到最后一个字符。substring
。all
函数检查当前子串是否包含给定的三元字符串中的两个字符。如果是,则计数器加一。