力扣 -- 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;
    }
};
相关推荐
算AI14 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
我不会编程55515 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
李少兄15 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
懒羊羊大王&15 小时前
模版进阶(沉淀中)
c++
无名之逆15 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
似水এ᭄往昔15 小时前
【C语言】文件操作
c语言·开发语言
啊喜拔牙15 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
owde16 小时前
顺序容器 -list双向链表
数据结构·c++·链表·list
xixixin_16 小时前
为什么 js 对象中引用本地图片需要写 require 或 import
开发语言·前端·javascript
第404块砖头16 小时前
分享宝藏之List转Markdown
数据结构·list