力扣 -- 467. 环绕字符串中唯一的子字符串

一、题目

二、解题步骤

下面是用动态规划的思想解决这道题的过程,相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。

三、参考代码

cpp 复制代码
class Solution {
public:
    int findSubstringInWraproundString(string s) {
        int n=s.size();
        vector<int> dp(n,1);
        int ret=0;
        for(int i=1;i<n;i++)
        {
            if(s[i]==s[i-1]+1||(s[i-1]=='z'&&s[i]=='a'))
            {
                dp[i]+=dp[i-1];
            }
        }

        //去重
        int arr[26]={0};
        for(int i=0;i<n;i++)
        {
            arr[s[i]-'a']=max(dp[i],arr[s[i]-'a']);
        }
        for(const auto& e:arr)
        {
            ret+=e;
        }
        return ret;
    }
};
相关推荐
能源系统预测和优化研究9 分钟前
【原创代码改进】考虑共享储能接入的工业园区多类型负荷需求响应经济运行研究
大数据·算法
wadesir16 分钟前
Go语言中高效读取数据(详解io包的ReadAll函数用法)
开发语言·后端·golang
yoke菜籽23 分钟前
LeetCode——三指针
算法·leetcode·职场和发展
小高不明1 小时前
前缀和一维/二维-复习篇
开发语言·算法
龘龍龙1 小时前
Python基础(八)
开发语言·python
范纹杉想快点毕业1 小时前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
bin91531 小时前
当AI优化搜索引擎算法:Go初级开发者的创意突围实战指南
人工智能·算法·搜索引擎·工具·ai工具
SoveTingღ1 小时前
【问题解析】我的客户端与服务器交互无响应了?
服务器·c++·qt·tcp
幺零九零零2 小时前
Golang-Swagger
开发语言·后端·golang
温宇飞2 小时前
内存异常
c++