Description
Given a string?s?and a set of?n?substrings. You are supposed to remove every instance of those n substrings from s so that s is of the minimum length and output this minimum length.
Example
Example 1:
Input:
"ccdaabcdbb"
["ab","cd"]
Output:
2
Explanation:
ccdaabcdbb -> ccdacdbb -> cabb -> cb (length = 2)
Example 2:
Input:
"abcabd"
["ab","abcd"]
Output:
0
Explanation:
abcabd -> abcd -> "" (length = 0)
思路:
用BFS遍歷每一個(gè)去掉某個(gè)字符串之后的字符串,如"abcabd",加入隊(duì)列,去掉"ab"分別得到"cabd","abcd"加入隊(duì)列,然后去掉"abcd",然后輪到"cabd'去掉ab得到’cd'加入隊(duì)列, 去掉abcd,輪到"abcd", 去掉"ab",去掉"abcd"得到“”, 輪到"cd",輪到”“,最后停止。
代碼:
