LeetCode简单题之长度为三且各字符不同的子字符串
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之长度为三且各字符不同的子字符串
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
如果一個(gè)字符串不含有任何重復(fù)字符,我們稱這個(gè)字符串為 好 字符串。
給你一個(gè)字符串 s ,請(qǐng)你返回 s 中長(zhǎng)度為 3 的 好子字符串 的數(shù)量。
注意,如果相同的好子字符串出現(xiàn)多次,每一次都應(yīng)該被記入答案之中。
子字符串 是一個(gè)字符串中連續(xù)的字符序列。
示例 1:
輸入:s = “xyzzaz”
輸出:1
解釋:總共有 4 個(gè)長(zhǎng)度為 3 的子字符串:“xyz”,“yzz”,“zza” 和 “zaz” 。
唯一的長(zhǎng)度為 3 的好子字符串是 “xyz” 。
示例 2:
輸入:s = “aababcabc”
輸出:4
解釋:總共有 7 個(gè)長(zhǎng)度為 3 的子字符串:“aab”,“aba”,“bab”,“abc”,“bca”,“cab” 和 “abc” 。
好子字符串包括 “abc”,“bca”,“cab” 和 “abc” 。
提示:
1 <= s.length <= 100
s?????? 只包含小寫英文字母。
來源:力扣(LeetCode)
解題思路
??判斷是否存在重復(fù)元素可以使用哈希表,然后遍歷字符串挨個(gè)檢查3個(gè)元素是否都不一樣。
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
總結(jié)
以上是生活随笔為你收集整理的LeetCode简单题之长度为三且各字符不同的子字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之检查是否所有字符
- 下一篇: LeetCode简单题之独一无二的出现次