题目:

把字符串 s 看作是 “abcdefghijklmnopqrstuvwxyz” 的无限环绕字符串,所以 s 看起来是这样的:

"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd...." . 
现在给定另一个字符串 p 。返回 s 中 唯一 的 p 的 非空子串 的数量 。

示例 1:

输入: p = "a"
输出: 1
解释: 字符串 s 中只有一个"a"子字符。
示例 2:

输入: p = "cac"
输出: 2
解释: 字符串 s 中的字符串“cac”只有两个子串“a”、“c”。.
示例 3:

输入: p = "zab"
输出: 6
解释: 在字符串 s 中有六个子串“z”、“a”、“b”、“za”、“ab”、“zab”。

提示:

1 <= p.length <= 105
p 由小写英文字母构成

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/unique-substrings-in-wraparound-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

举个例子:

假设p=‘dzafbcexya’

  • 以 d 结尾的连续子串有 d;
  • 以 z 结尾的连续子串有 z;
  • 以 a 结尾的连续子串有 a,za;
  • 以 f 结尾的连续子串有 f;
  • 以 b 结尾的连续子串有 b;
  • 以 c 结尾的连续子串有 c, bc;
  • 以 e 结尾的连续子串有 e;
  • 以 x 结尾的连续子串有 x;
  • 以 y 结尾的连续子串有 y, xy;
  • 最后一个a,由于题目要求子串唯一,所以最后一个a不算。

所以一共有 1+1+2+1+1+2+1+1+2 = 12个子串 。

根据规律,以当前字符结尾的连续子串的长度 == 以该字符结尾的相等子串的个数,故只需求出已知字符串中每个字符结尾的最长连续子串的长度,再相加即可。

 代码:

力扣467(java)-环绕字符串中唯一的子字符串(中等)的更多相关文章

  1. Java实现 LeetCode 467 环绕字符串中唯一的子字符串

    467. 环绕字符串中唯一的子字符串 把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"-zabc ...

  2. leetcode 467. 环绕字符串中唯一的子字符串

    题目描述: 把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrstuvwx ...

  3. [Swift]LeetCode467. 环绕字符串中唯一的子字符串 | Unique Substrings in Wraparound String

    Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ...

  4. Q467 环绕字符串中唯一的子字符串

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

  5. python判断字符串中是否包含子字符串

    python判断字符串中是否包含子字符串 s = '1234问沃尔沃434' if s.find('沃尔沃') != -1:     print('存在') else:     print('不存在' ...

  6. [LeetCode] Unique Substrings in Wraparound String 封装字符串中的独特子字符串

    Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ...

  7. 467 Unique Substrings in Wraparound String 封装字符串中的独特子字符串

    详见:https://leetcode.com/problems/unique-substrings-in-wraparound-string/description/ C++: class Solu ...

  8. js 判断字符串中是否包含某个字符串的方法实例

    String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") ...

  9. js 判断字符串中是否包含某个字符串

    String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") ...

  10. js 判断字符串中是否包含某个字符串(转载)

    from : https://www.cnblogs.com/ooo0/p/7741651.html String对象的方法 方法一: indexOf()   (推荐) var str = " ...

随机推荐

  1. 基于ADS1292芯片的解决方案之源码解析

    接口解析  A 该芯片和主控使用的是SPI接口通信的. SPI接口一般有四根线,确保四根线准确连接是对的. B 该芯片可以有中断模式数据触发,所以,主控mcu需要有外部中断处理流程. //DRDY中断 ...

  2. day04-Java基础语法

    Java基础语法 1.注释 注释不会被执行,是用来给写代码的人看的. 1.1单行注释 单行注释只能注释一行文字 // 注释 1.2多行注释 多行注释可以注释多行文字 /* 注释 注释 注释 */ 1. ...

  3. 译:使用 Bun 执行 Shell 脚本

    原文地址(Bun Blog): https://bun.sh/blog/the-bun-shell 作者: jarredsumner 发布时间:2024-01-20 前言 JavaScript 是世界 ...

  4. 详解SSL证书系列(5)SSL证书为什么不能好多年签一次呢

    上一篇介绍了详解SSL证书系列(4)免费的SSL证书和收费的证书有什么区别,这一篇我们继续了解一下我们申请的SSL证书为什么不能好多年签一次呢,这样不是更省事吗? SSL证书最多只能签发一年,一年到期 ...

  5. flutter版本的玩Android客户端

    flutter学习案例 目录介绍 00.项目下载与查看 01.项目介绍 02.项目优势 03.部分功能介绍 04.部分截图展示 05.版本更新 06.flutter系列博客 07.感谢 08.如何辨别 ...

  6. nginx完全卸载删除

    nginx卸载 其实很简单,只需要两步即可完成! 第一步:输入以下指令全局查找nginx相关的文件: sudo find / -name nginx* 第二步:删除查找出来的所有nginx相关文件 s ...

  7. SPSS安装及破解教程

    SPSS是一种统计分析软件,其全称为"Statistical Product and Service Solutions".以下是SPSS的作用和好处: 作用: 数据管理:SPSS ...

  8. java实战:多属性排序

    多属性排序的核心点就是对Arrays.sort()和Collections.sort()方法的Comparator进行重写 Arrays.sort()的三种用法 1.1.Arrays.sort(int ...

  9. Unit 1 Computer hardware【石家庄铁道大学-专业英语课程复习资料】

    Unit 1 Computer hardware 1.Introduction of computer A computer is a machine that can be instructed t ...

  10. 无法进去wordpress后台,也不能修改密码怎么办?wordpress无需下载插件修改代码配置SMTP发送邮件(网易邮箱)

    (解决不能进入wordpress后台,忘记密码,找回密码时提示站点邮件配置失败的问题,配置好之后即可通过邮件重置wordpress密码) 使用ssh工具远程连接自己的服务器(Xshell或者服务器自带 ...