Largest Substring Between Two Equal Characters LeetCode solution in Rust

1
use std::cmp::max;
2

3
impl Solution {
4
pub fn max_length_between_equal_characters(s: String) -> i32 {
5
let mut firsts = [None; 26];
6
let mut max_len = -1;
7

8
for (i, char) in s.chars().enumerate() {
9
let i = i as i32;
10
let j = (char as u8 - b'a') as usize;
11
match firsts[j] {
12
Some(first) => {
13
max_len = max(i - first, max_len);
14
}
15
None => {
16
firsts[j] = Some(i + 1);
17
}
18
}
19
}
20

21
max_len
22
}
23
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0