题目

如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。
给你一个字符串 s ,请你返回 s 中长度为 3 的 好子字符串 的数量。
注意,如果相同的好子字符串出现多次,每一次都应该被记入答案之中。
子字符串 是一个字符串中连续的字符序列。
示例 1:
输入:s = “xyzzaz”
输出:1
解释:总共有 4 个长度为 3 的子字符串:“xyz”,“yzz”,“zza” 和 “zaz” 。
唯一的长度为 3 的好子字符串是 “xyz” 。
示例 2:
输入:s = “aababcabc”
输出:4
解释:总共有 7 个长度为 3 的子字符串:“aab”,“aba”,“bab”,“abc”,“bca”,“cab” 和 “abc” 。
好子字符串包括 “abc”,“bca”,“cab” 和 “abc” 。
提示:
1 <= s.length <= 100
s​​​​​​ 只包含小写英文字母。
来源:力扣(LeetCode)

解题思路

  判断是否存在重复元素可以使用哈希表,然后遍历字符串挨个检查3个元素是否都不一样。

class Solution:def countGoodSubstrings(self, s: str) -> int:if len(s)<3:return 0i=2count=0while i<len(s):if len(set(s[i-2:i+1]))==3:count+=1i+=1return count

LeetCode简单题之长度为三且各字符不同的子字符串相关推荐

  1. LeetCode 1876. 长度为三且各字符不同的子字符串

    文章目录 1. 题目 2. 解题 1. 题目 如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串. 给你一个字符串 s ,请你返回 s 中长度为 3 的 好子字符串 的数量. 注意,如果 ...

  2. LeetCode简单题之1比特与2比特字符

    题目 有两种特殊字符: 第一种字符可以用一个比特 0 来表示 第二种字符可以用两个比特(10 或 11)来表示. 给定一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一位字符,则返回 ...

  3. LeetCode简单题之删除字符使字符串变好

    题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...

  4. LeetCode简单题之两个相同字符之间的最长子字符串

    题目 给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符.如果不存在这样的子字符串,返回 -1 . 子字符串 是字符串中的一个连续字符序列. 示例 1: 输 ...

  5. LeetCode简单题之连续字符

    题目 给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度. 请你返回字符串的能量. 示例 1: 输入:s = "leetcode" 输出:2 解释 ...

  6. LeetCode简单题之拼写单词

    题目 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认 ...

  7. LeetCode简单题(一)

    题目一: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组 ...

  8. LeetCode简单题之数组中的字符串匹配

    题目 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词.请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词. 如果你可以删除 words[j] 最左侧和/或最 ...

  9. LeetCode简单题之最长回文串

    题目 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 . 在构造过程中,请注意 区分大小写 .比如 "Aa" 不能当做一个回文字符串. 示例 ...

最新文章

  1. java 右键获取路径,java路径
  2. matlab x12,用MATLAB最优化工具箱的相关函数编程求解: minf(X)=x12+2x22一2x1x2—4x1,X0=[0,0]T...
  3. Java 最多能买到的笔数
  4. sql 日期和当前日期时间差_如何通过excel获取当前的日期和时间
  5. leetcode 721. Accounts Merge | 721. 账户合并(HashMap版并查集)
  6. Puppet 之 模板和模块
  7. 考研生物和计算机结合的专业,2020考研:生物医学工程,考研是考原专业还是跨专业考计算机好?...
  8. RocketMQ源码解析-Consumer启动(2)
  9. LeetCode:每日一题(2020.4.7)
  10. Java| Javadoc生成Java帮助文档
  11. 计算机无法识别建行网银盾,电脑无法识别建行网银盾怎么办
  12. 【Qt】QtIFW 安装包制作总结 -如何创建多组件的安装器
  13. ac管理器管理员密码忘记了_人们为什么不使用密码管理器
  14. 按键精灵电脑版对接百度ai,告别字库(文字识别篇)
  15. 新旧电脑数据传输|怎么实现两台电脑硬盘数据传输
  16. 关于mybatis中的大于号和小于号的错误
  17. bios设置 hp z800_《惠普工作站设置BIOS从U盘装系统》
  18. AC米兰2-1胜利物浦夺冠 巨星pippo和KAKA。_原水_新浪博客
  19. 畅捷通T+和道一云单据接口对接
  20. [康宁]浅论亚里士多德对柏拉图“理念论”的批判与继承

热门文章

  1. mysql64如何配置_win7 64位下如何安装配置mysql-winx64(安装记录)
  2. Linux shell 学习笔记(16)— shell 入门总结
  3. 2022-2028年中国微滤膜行业市场发展调研及投资前景分析报告
  4. FastAPI 自动生成的docs文档没法使用
  5. 对列表去重并保持原来的顺序
  6. Google Colab——用谷歌免费GPU跑你的深度学习代码
  7. FPGA多功能应用处理器
  8. MindSpore API编程概述
  9. 实时双频Wi-Fi如何实现下一代车内连接
  10. 微调BERT:序列级和令牌级应用程序