精華區beta Marginalman 關於我們 聯絡資訊
1456. Maximum Number of Vowels in a Substring of Given Length 題目: 維護一個 sliding window 看 k 大小的窗口滑到底 窗口內最多有幾個母音 思路: 每次滑動看進來的是不是母音 離開的是不是母音 多一個 if i>= k 判斷就可以省一個起始窗口 for Code: impl Solution { pub fn max_vowels(s: String, k: i32) -> i32 { pub fn is_vowel(c: char) -> bool { matches!(c, 'a' | 'e' | 'i' | 'o' | 'u') } let s_chars: Vec<char> = s.chars().collect(); let k = k as usize; let mut count = 0; let mut max_count = count; for (i, c) in s_chars.iter().enumerate() { if is_vowel(*c) { count += 1; } if i >= k { if is_vowel(s_chars[i - k]) { count -= 1; } } max_count = max_count.max(count); } max_count } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.163 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1749460301.A.171.html