1class Solution {2public:3int findSubstringInWraproundString(string p) {4int ans = 1, prev_ans = 1;5vector<int> arr(26, 0);6arr[p[0] - 'a'] = 1;7for (int i = 1; i < p.size(); i++) {8if ((p[i - 1] - 'a' + 1) % 26 == p[i] - 'a') // Checking for continuation9prev_ans++;10else11prev_ans = 1;12if (arr[p[i] - 'a'] < prev_ans) {13ans += prev_ans - arr[p[i] - 'a'];14arr[p[i] - 'a'] = prev_ans;15}16}17return ans;18}19};