Find the Longest Substring Containing Vowels in Even Counts LeetCode solution in Rust
1impl Solution {2pub fn find_the_longest_substring(s: String) -> i32 {3let s = s.chars().collect::<Vec<char>>();4let n = s.len();5let limit = 1 << 5;6let mut memo = vec![vec![]; limit];78let dict = ['a', 'i', 'u', 'e', 'o'];9let mut now = 0;10for i in 0..n {11memo[now].push(i);12for j in 0..5 {13if s[i] == dict[j] {14let v = 1 << j;15now ^= v;16break;17}18}19}20memo[now].push(n);2122let mut result = 0;23let mut i = 0;24for arr in memo {25if arr.len() >= 2 {26result = result.max(arr[arr.len() - 1] - arr[0]);27}28i += 1;29}3031result as i3232}33}