leetcode 467. 环绕字符串中唯一的子字符串
题目描述:
把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".
现在我们有了另一个字符串 p 。你需要的是找出 s 中有多少个唯一的 p 的非空子串,尤其是当你的输入是字符串 p ,你需要输出字符串 s 中 p 的不同的非空子串的数目。
注意: p 仅由小写的英文字母组成,p 的大小可能超过 10000。
示例 1:
输入: "a"
输出: 1
解释: 字符串 S 中只有一个"a"子字符。
示例 2:
输入: "cac"
输出: 2
解释: 字符串 S 中的字符串“cac”只有两个子串“a”、“c”。.
示例 3:
输入: "zab"
输出: 6
解释: 在字符串 S 中有六个子串“z”、“a”、“b”、“za”、“ab”、“zab”。
思路:如例3,当字符串为'z'时,子串只有'z',个数为1;当字符串为'za'时,字串有'z','a','za',个数为3,和字符串'z'相比,新增子串个数为2;
字符串'zab',新增子串有'b','ab','zab'3个。
也就是说按序的字符串每增加一个,新增的字串个数加1。
建一个数组,存储每次新增的子串个数,最后统计数组中数字的和。
题目链接:https://leetcode-cn.com/problems/unique-substrings-in-wraparound-string/
class Solution {
public:
    int findSubstringInWraproundString(string p) {
        int maps[];
        int m[];
        int len,num = ;
        memset(maps,,sizeof(maps));
        for(int i = ;i<p.size();i++)
        {
            if(i == )
            {
                len = ;
                maps[p[i]-'a'] = ;
            }
            else
            {
                if(p[i-] == p[i]- || (p[i] == 'a' && p[i-] == 'z') )   //如果连续,则新增子串数加1
                {
                   len++;
                }
                else
                {
                    len = ;
                }
                if(len > maps[p[i]-'a'])                           //存储子串个数
                {
                    maps[p[i]-'a'] = len;
                }
            }
        }
        for(int i = ;i<;i++)
        {
            num = num + maps[i];
        }
        return num;
    }
};
leetcode 467. 环绕字符串中唯一的子字符串的更多相关文章
- Java实现 LeetCode 467 环绕字符串中唯一的子字符串
		467. 环绕字符串中唯一的子字符串 把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"-zabc ... 
- [Swift]LeetCode467. 环绕字符串中唯一的子字符串 | Unique Substrings in Wraparound String
		Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ... 
- Q467 环绕字符串中唯一的子字符串
		把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrst ... 
- python判断字符串中是否包含子字符串
		python判断字符串中是否包含子字符串 s = '1234问沃尔沃434' if s.find('沃尔沃') != -1: print('存在') else: print('不存在' ... 
- [LeetCode] Unique Substrings in Wraparound String 封装字符串中的独特子字符串
		Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ... 
- 467 Unique Substrings in Wraparound String 封装字符串中的独特子字符串
		详见:https://leetcode.com/problems/unique-substrings-in-wraparound-string/description/ C++: class Solu ... 
- js 判断字符串中是否包含某个字符串的方法实例
		String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") ... 
- js 判断字符串中是否包含某个字符串
		String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") ... 
- js 判断字符串中是否包含某个字符串(转载)
		from : https://www.cnblogs.com/ooo0/p/7741651.html String对象的方法 方法一: indexOf() (推荐) var str = " ... 
随机推荐
- js 移动端之监听软键盘弹出收起
			js 移动端关于页面布局,如果底部有position:fixed的盒子,又有input,当软键盘弹出收起都会影响页面布局.这时候Android可以监听resize事件,代码如下,而ios没有相关事件. ... 
- 关于移动端图片浏览,previewimage的使用
			我相信在移动端项目中,大家都会遇到图片浏览的问题,像qq,微信,微博,淘宝,当你点击图片时,图片会放大全屏显示,双击图片时图片继续放大查看,双指左右滑动也可以放大,当你再次点击时图片,图片恢复原始大小 ... 
- js 算法,判断一个数组中的数字出现多少次
			let arr = [11, 11, 2, 2, 5, 5, 5, 5, 3]; //创建一个map,把每个数字和其个数相对应 let countObj = {}; for (i = 0; i < ... 
- org.w3c.dom document 和xml 字符串 互转
			转自:https://blog.csdn.net/wmyasw/article/details/8686420 package com.mymhotel.opera; import java.io.F ... 
- 通过扩展redis-cli来实现在redis集群中移动槽位
			下面的扩展代码基于redis 5.0.2进行扩展, 对于其他的redis版本, 我没有进行相关的测试.考虑到redis集群的修改频率,这段代码应该同时适用于其他的redis版本. 下面为修改的代码: ... 
- 将Maven项目部署云服务器流程
			1.数据库分离,存入项目: 2.将分离出的数据库导入云端服务器 将sql文件上传到服务器中 进去云端数据库输入命令:source 云服务器中sql文件地址 3.设置两种配置,修改匹配: 4.mave ... 
- ARP欺骗之ettercap图形化界面
			ARP欺骗原理: 在每台主机中都有ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址(网络设备之间互相通信是用MAC地址而不是IP地址) 一.ARP欺骗 工 ... 
- Visual Studio 各版本对应关系
			Known Name Version Latest KB / Revision Visual Studio 6 6 Service Pack 6; 6.0.3790.0; VB6.0-KB290887 ... 
- 远程连接Linux mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法
			在新安装好的Centos7上刚安装好mysql,准备进去看看,但是登陆的时候,发现报错啦: ERROR 1045 (28000): Access denied for user 'root'@'loc ... 
- sql注入和防sql注入
			sql注入: from pymysql import * def main(): # 创建连接 conn = connect(host="127.0.0.1", port=3306 ... 
