专业的编程技术博客社区

网站首页 > 博客文章 正文

leetcode1876_go_长度为三且各字符不同的子字符串

baijin 2024-08-13 00:53:33 博客文章 10 ℃ 0 评论

题目

如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。

给你一个字符串 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只包含小写英文字母。

解题思路分析

1、遍历;时间复杂度O(n),空间复杂度O(1)

func countGoodSubstrings(s string) int {
   res := 0
   for i := 2; i < len(s); i++ {
      if s[i-2] != s[i-1] && s[i-2] != s[i] && s[i-1] != s[i] {
         res++
      }
   }
   return res
}

总结

Easy题目,直接遍历判断即可

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表