#1100
Medium Algorithms Find k length substrings with no repeated characters
Hash Table String Sliding Window
76.5% acceptance
Mar 31, 2026
607
11
Given a string s and an integer k, return the number of substrings in s of length k with no repeated characters.
Solution
Rust
Time O(n)
Space O(1)
impl Solution {
pub fn num_k_len_substr_no_repeats(s: String, k: i32) -> i32 {
let k = k as usize;
let bytes = s.as_bytes();
if k > 26 || k > bytes.len() {
return 0;
}
let mut count = [0i32; 26];
let mut duplicates = 0;
let mut result = 0;
for i in 0..bytes.len() {
let c = (bytes[i] - b'a') as usize;
count[c] += 1;
if count[c] == 2 {
duplicates += 1;
}
if i >= k {
let old = (bytes[i - k] - b'a') as usize;
count[old] -= 1;
if count[old] == 1 {
duplicates -= 1;
}
}
if i >= k - 1 && duplicates == 0 {
result += 1;
}
}
result
}
}