Shortest Matching Substring
You are given a string s and a pattern string p, where p contains exactly two '*' characters.
The '*' in p matches any sequence of zero or more characters.
Return the length of the shortest substring in s that matches p. If there is no such substring, return -1.
Note: The empty substring is considered valid.
Example 1
Input
s = "abaacbaecebce", p = "ba*c*ce"Output
8The shortest matching substring of
p in s is "baecebce".Example 2
Input
s = "baccbaadbc", p = "cc*baa*adb"Output
-1There is no matching substring in
s.Constraints
- 1 <= s.length <= 10^5
- 2 <= p.length <= 10^5
- s contains only lowercase English letters.
- p contains only lowercase English letters and exactly two '*'.