解题思路:dp[i]表示以第i个字母结尾的最长的子字符串的长度。那么字符串P的不同子字符串的数量为dp[0] + dp[1] + … + dp[25] (从a一直加到z)。循环P中的每一个字符,不断更新该字符所能达到的最长字符串长度。具体的c++代码如下:

class Solution {
public:int findSubstringInWraproundString(string p) {int length = p.size();  //计算字符串P的长度if(length==0)return 0;  //如果字符串P的长度为0,则返回0vector<int> dp(26,0);  //用于存放以每个字母结尾所能形成的最长字符串dp[p[0]-'a'] = 1;  //计算P中第一个字符的位置和第一个字符所能形成的最长长度int dpi = 1;  //用于更新字符串长度的变量for(int i=1;i<length;i++){if(p[i]-p[i-1]==1 || p[i-1]-p[i]==25)  //有两种情况,分别是ab或者是za,所以有两种判断条件dpi++;   //符合条件的话让dpi++elsedpi = 1;  //不符合条件让dpi重新开始计算dp[p[i]-'a'] = max(dp[p[i]-'a'],dpi);   //找到对应的字符对应的位置,把对应的最长长度放进去}int num = 0;for(int i=0;i<26;i++){num = num + dp[i];  //计算所有的字母的最长长度之和}return num;}
};

leetcode - 467. 环绕字符串中唯一的子字符串相关推荐

  1. 【宫水三叶的刷题日记】467. 环绕字符串中唯一的子字符串(中等)

    题目描述 这是 LeetCode 上的 467. 环绕字符串中唯一的子字符串 ,难度为 中等. Tag : 「线性 DP」.「树状数组」 把字符串 s 看作是 "abcdefghijklmn ...

  2. leetcode算法题--环绕字符串中唯一的子字符串★

    原题链接:https://leetcode-cn.com/problems/unique-substrings-in-wraparound-string/ 思路是dp数组保存以26个字母为结尾的子字符 ...

  3. LeetCode 467. 环绕字符串中唯一的子字符串(思维转换)

    1. 题目 把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"-zabcdefghijklmnop ...

  4. mfc 找到字符串中字符_[LeetCode] 467. 环绕字符串中唯一的子字符串

    题目链接: https://leetcode-cn.com/problems/unique-substrings-in-wraparound-string 难度:中等 通过率:35.6% 题目描述: ...

  5. leetcode 467. Unique Substrings in Wraparound String | 467. 环绕字符串中唯一的子字符串(动态规划)

    题目 https://leetcode.com/problems/unique-substrings-in-wraparound-string/ 题解 1.dp 超时版本 class Solution ...

  6. 5918. 统计字符串中的元音子字符串

    5918. 统计字符串中的元音子字符串 子字符串 是字符串中的一个连续(非空)的字符序列. 元音子字符串 是 仅 由元音('a'.'e'.'i'.'o' 和 'u')组成的一个子字符串,且必须包含 全 ...

  7. php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...

    php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创 这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来! PHP 开源脚本语言 PHP(外文名: Hypertext Prep ...

  8. php判断是字符串类型,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...

    本文实例讲述了php使用strpos判断字符串中数字类型子字符串出错的解决方法.分享给大家供大家参考,具体如下: 一.问题: 最近的开发中在程序代码里有一个随机数是否在给定字符串里的判断,我用了如下的 ...

  9. java 统计字符串中字符个数_java实现统计字符串中字符及子字符串个数的方法示例...

    本文实例讲述了java实现统计字符串中字符及子字符串个数的方法.分享给大家供大家参考,具体如下: 这里用java实现统计字符串中的字符(包括数字.大写字母.小写字母以及其他字符)个数,以及字符串的子字 ...

最新文章

  1. 陈天奇:深度学习编译技术的现状和未来
  2. LOJ#2127「HAOI2015」按位或
  3. Naveen Tewari先生荣获艾奇奖“年度商业创新领袖人物”
  4. Android新建项目选择SDK的区别
  5. org.activiti.engine.ActivitiOptimisticLockingException updated by another transaction concurrently
  6. FileBeats安装
  7. 论文浅尝 | 5 篇顶会论文带你了解知识图谱最新研究进展
  8. kafka专题:kafka的总控制器Controller、消费者重分配策略等核心设计原理详解
  9. O2O年度反思:流量不再为王不赚钱就得死
  10. 下载Eclipse IDE
  11. 角度标注-Visio制图总结(四)
  12. 10的6次方用java怎么写_10的6次方怎么写
  13. 国产数据库--HighGo DB(瀚高数据库)
  14. 上网被阻断未经pppoe认证_锐捷上网认证常见问题及解决办法
  15. 微信酒店小程序运营解决方案
  16. android应用程序设计_UED干货 | 一篇文章知晓小程序设计
  17. c语言指针关键字,C语言关键字const和指针的结合使用
  18. 学成在线首页【前端知识】
  19. Java 冒泡排序法
  20. Measurement Studio函数ReadMultiSampleAsync

热门文章

  1. NodeJS开源系统Mili简介
  2. Nginx 极简入门教程
  3. Hibernate面试问题与解答
  4. excel html 查询,index.html
  5. 五、C#入门—流程控制
  6. 在线考试系统需求分析
  7. 【记录】启用Windows 10下的linux子系统
  8. webpack5 模块联邦 single-spa基座微前端 systemjs
  9. 【Python】我的第一个EXE程序
  10. C#LeetCode刷题之#709-转换成小写字母(To Lower Case)