【力扣 中等 C】467. 环绕字符串中唯一的子字符串
目录
题目
解法一:动态规划
题目
解法一:动态规划
int max(int a, int b) {return a > b ? a : b;
}int findSubstringInWraproundString(char* s) {int dp[26] = {0};dp[s[0] - 'a'] = 1;int len = strlen(s);int subLen = 1;for (int i = 1; i < len; i++) {if ((s[i] == 'a' && s[i - 1] == 'z') || s[i] == s[i - 1] + 1) {subLen++;} else {subLen = 1;}dp[s[i] - 'a'] = max(dp[s[i] - 'a'], subLen);}int cnt = 0;for (int i = 0; i < 26; i++) {cnt += dp[i];}return cnt;
}