是否存在用于重建另一个字符串的子字符串子集?
-
28-09-2020 - |
题
我正在寻找高性能算法来检查我是否可以使用给定的一组子串进行重建给定的字符串。更多细节:
让我们说我们的字符串是通过字母 $ \ sigma $ 。
输入:
- 一个字符串 $ s \ in \ sigma ^ * $
- 一个有限的字符串 $ a={a_1,a_2,...,a_n \} \ subset \ sigma ^ * $ 。
输出:
- 是否 $ \存在m:\存在b_1,b_2,\ ldots,b_m \在a:b_1 + b_2 + \ cdots + b_m= s $
其中 $ + $ 是字符串连接。
例如,如果 $ s= {} $ “ $ abcd $ ”和 $ a={$ “ $ ab $ ” $,$ < / span>“ $ cd $ ” $,$ “ $ ac $ “ $ \} $ ,答案是真的。 出于此问题的目的,假设 $ a $ 中的字符串可以在必要时重复使用多次。
解决方案
不隶属于 cs.stackexchange