LeetCode 467 环绕字符串中唯一的子字符串[动态规划] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 467 环绕字符串中唯一的子字符串[动态规划] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
非常简单的一道dp题目,就是不断找在p中连续的字符个数,更新dp中对应元素所在的最长连续位置,返回和即可,代码如下:
class Solution
public:
int findSubstringInWraproundString(string p)
vector<int> dp(26, 0);
int count = 0;
for(int i = 0; i < p.size(); i ++)
// 非第一位且连续
if(i && (p[i] - p[i - 1] + 26) % 26 == 1)
count ++;
else
count = 1;
dp[p[i] - 'a'] = max(dp[p[i] - 'a'], count);
return accumulate(dp.begin(), dp.end(), 0);
;
以上是关于LeetCode 467 环绕字符串中唯一的子字符串[动态规划] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 467 环绕字符串中唯一的子字符串[动态规划] HERODING的LeetCode之路
LeetCode 965. 单值二叉树 / 467. 环绕字符串中唯一的子字符串 / 699. 掉落的方块(线段树后面再写)