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. 掉落的方块(线段树后面再写)

LeetCode 0467.环绕字符串中唯一的子字符串

Leetcode 467.环绕字符串中的唯一子字符串

Leetcode 76.最小覆盖子串

leetcode困难76最小覆盖子串