解题思路: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. train_test_split()
  2. 为什么我使用了索引,查询还是慢?
  3. Java自学!Java项目面试介绍
  4. 计算神经网络隐藏层节点数极小值
  5. reactjs组件的生命周期:创建时和更新时
  6. UVA11624_Fire!
  7. ghostwin10系统后不小心重新分区了,其它分区的资料如何找回
  8. 力扣98. 验证二叉搜索树(JavaScript)
  9. Flutter进阶—质感设计之标签栏
  10. 华硕飞行堡垒触摸板快捷键失效
  11. 三星note10 android q,【极光ROM】-【三星NOTE10/NOTE10+/5G N97XX-9825】-【V5.0 Android-Q-TE9】...
  12. PDF转docx转md
  13. 基于OpenSSL的CA建立及证书签发(签发单域名/IP)
  14. HDU 6608 [2019 Multi-University Training Contest 3]
  15. java mail 监听邮件_javamail – IMAP messageChangedListener()没有被触发
  16. Explaining and Harnessing Adversarial Examples
  17. D3D11 立方体贴图(天空盒子)
  18. Nature:益生菌清除致病菌的机制
  19. linux驱动 — 字符设备驱动模板
  20. 微信公众平台--服务号/订阅号--网页授权获取用户基本信息

热门文章

  1. Mongodb 与sql 语句对照
  2. PHP加速 eAccelerator配置和使用指南
  3. 我是如何带领团队开发项目的
  4. 周六——中国电影博物馆
  5. 清空VS2003/VS2005最近打开解决方案记录
  6. 面试:InnoDB 并发控制
  7. 内存还剩余很多,却使用 swap 分区
  8. Hibernate Criteria示例教程
  9. 分布式面试 - zookeeper 都有哪些使用场景?
  10. android语音识别开源代码,android语音识别,有没有相应的源码,教程可以推荐啊?