leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0467.cpp (495B)
0 class Solution {
1 public:
2 int findSubstringInWraproundString(const string &s) const {
3 const int n = size(s);
4 static int seen[26];
6 memset(seen, 0x00, sizeof(seen));
7 for (const char c : s)
8 seen[c - 'a'] = 1;
9 for (int i = 1, cnt = 1; i < n; i++) {
10 cnt = (s[i] - s[i - 1] + 26) % 26 == 1 ? cnt + 1 : 1;
11 seen[s[i] - 'a'] = max(seen[s[i] - 'a'], cnt);
12 }
14 return accumulate(seen, seen + 26, 0);
15 }
16 };