Uber is testing a multi-port EV charging strip.
Each port accepts one of five signal types:
'a', 'e', 'i', 'o', 'u'
Given a string logSignals, count how many contiguous substrings:
Contain only these five characters
Contain all five characters at least once
Return the total number of such substrings.
Function Signature
long countCompleteSignalBlocks(String logSignals)
Example
Input: logSignals = "aeioexaeaeiou"
Output: 4
Explanation: Valid substrings:
"aeaeiou" "aaeiou" "aeiou" "aeiou"
1 ≤ |logSignals| ≤ 10^5
Characters are lowercase English letters