Welcome to Subscribe On Youtube
3330. Find the Original Typed String I
Description
Alice is attempting to type a specific string on her computer. However, she tends to be clumsy and may press a key for too long, resulting in a character being typed multiple times.
Although Alice tried to focus on her typing, she is aware that she may still have done this at most once.
You are given a string word
, which represents the final output displayed on Alice's screen.
Return the total number of possible original strings that Alice might have intended to type.
Example 1:
Input: word = "abbcccc"
Output: 5
Explanation:
The possible strings are: "abbcccc"
, "abbccc"
, "abbcc"
, "abbc"
, and "abcccc"
.
Example 2:
Input: word = "abcd"
Output: 1
Explanation:
The only possible string is "abcd"
.
Example 3:
Input: word = "aaaa"
Output: 4
Constraints:
1 <= word.length <= 100
word
consists only of lowercase English letters.
Solutions
Solution 1
-
class Solution { public int possibleStringCount(String word) { int f = 1; for (int i = 1; i < word.length(); ++i) { if (word.charAt(i) == word.charAt(i - 1)) { ++f; } } return f; } }
-
class Solution { public: int possibleStringCount(string word) { int f = 1; for (int i = 1; i < word.size(); ++i) { f += word[i] == word[i - 1]; } return f; } };
-
class Solution: def possibleStringCount(self, word: str) -> int: return 1 + sum(x == y for x, y in pairwise(word))
-
func possibleStringCount(word string) int { f := 1 for i := 1; i < len(word); i++ { if word[i] == word[i-1] { f++ } } return f }
-
function possibleStringCount(word: string): number { let f = 1; for (let i = 1; i < word.length; ++i) { f += word[i] === word[i - 1] ? 1 : 0; } return f; }