Count Number of Texts LeetCode solution in C++

1
class Solution {
2
public:
3
int mod = 1e9 + 7;
4
int solve(string &str, int idx) {
5
if (idx == str.length()) return 1;
6
int maxKeyPress = (str[idx] == '7' || str[idx] == '9') ? 4 : 3;
7
long long currIndex = idx, pressFrequency = 1, ans = 0;
8
while (pressFrequency <= maxKeyPress && str[currIndex] == str[idx]) {
9
++currIndex;
10
++pressFrequency;
11
ans += solve(str, currIndex) % mod;
12
}
13
return ans % mod;
14
}
15
int countTexts(string pressedKeys) {
16
return solve(pressedKeys, 0) % mod;
17
}
18
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0