comments | difficulty | edit_url | rating | source | tags | ||||
---|---|---|---|---|---|---|---|---|---|
true |
简单 |
1248 |
第 53 场双周赛 Q1 |
|
如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。
给你一个字符串 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
只包含小写英文字母。
class Solution:
def countGoodSubstrings(self, s: str) -> int:
count, n = 0, len(s)
for i in range(n - 2):
count += s[i] != s[i + 1] and s[i] != s[i + 2] and s[i + 1] != s[i + 2]
return count
class Solution {
public int countGoodSubstrings(String s) {
int count = 0, n = s.length();
for (int i = 0; i < n - 2; ++i) {
char a = s.charAt(i), b = s.charAt(i + 1), c = s.charAt(i + 2);
if (a != b && a != c && b != c) {
++count;
}
}
return count;
}
}
function countGoodSubstrings(s: string): number {
const n: number = s.length;
let count: number = 0;
for (let i: number = 0; i < n - 2; ++i) {
let a: string = s.charAt(i),
b: string = s.charAt(i + 1),
c: string = s.charAt(i + 2);
if (a != b && a != c && b != c) {
++count;
}
}
return count;
}
class Solution {
/**
* @param String $s
* @return Integer
*/
function countGoodSubstrings($s) {
$cnt = 0;
for ($i = 0; $i < strlen($s) - 2; $i++) {
if ($s[$i] != $s[$i + 1] && $s[$i] != $s[$i + 2] && $s[$i + 1] != $s[$i + 2]) {
$cnt++;
}
}
return $cnt++;
}
}