1impl Solution {2pub fn largest_variance(s: String) -> i32 {3let au = 'a' as u8;4let s = s.into_bytes();5let counter = s.iter().fold(vec![0; 26], |mut vec, ch| {6vec[(ch - au) as usize] += 1;7vec8});910let mut g_max = 0;1112for i in 0..26 {13for j in 0..26 {14if i == j || counter[i] == 0 || counter[j] == 0 {15continue;16}1718let (maj, min) = (i as u8 + au, j as u8 + au);19let (mut maj_c, mut min_c) = (0, 0);20let mut min_r = counter[j];2122s.iter().for_each(|c| {23match c {24x if *x == maj => {25maj_c += 1;26}27y if *y == min => {28min_c += 1;29min_r -= 1;30}31_ => (),32}3334if min_c > 0 {35g_max = g_max.max(maj_c - min_c);36}3738if maj_c < min_c && min_r > 0 {39maj_c = 0;40min_c = 0;41}42});43}44}4546g_max47}48}