We define the string s
to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz"
, so s
will look like this:
"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd...."
.
Given a string p
, return the number of unique non-empty substrings of p
are present in s
.
Example 1:
Input: p = "a" Output: 1 Explanation: Only the substring "a" of p is in s.
Example 2:
Input: p = "cac" Output: 2 Explanation: There are two substrings ("a", "c") of p in s.
Example 3:
Input: p = "zab" Output: 6 Explanation: There are six substrings ("z", "a", "b", "za", "ab", and "zab") of p in s.
Constraints:
1 <= p.length <= 105
p
consists of lowercase English letters.