20250610 finished.

This commit is contained in:
jackfiled 2025-06-10 11:28:01 +08:00
parent 6d9aecd427
commit e6a52152ac
Signed by: jackfiled
GPG Key ID: DEF448811AE0286D
2 changed files with 46 additions and 0 deletions

View File

@ -702,3 +702,5 @@ mod p3170_lexicographically_minimum_string_after_removing_stars;
mod p386_lexicographical_numbers;
mod p440_k_th_smallest_in_lexicographical_order;
mod p3442_maximum_difference_between_even_and_odd_frequency_i;

View File

@ -0,0 +1,44 @@
/**
* [3442] Maximum Difference Between Even and Odd Frequency I
*/
pub struct Solution {}
// submission codes start here
use std::collections::HashMap;
impl Solution {
pub fn max_difference(s: String) -> i32 {
let mut frequency_map = HashMap::new();
for c in s.bytes() {
let entry = frequency_map.entry(c).or_insert(0);
*entry += 1;
}
let mut odd_max = 0;
let mut even_min = i32::MAX;
for &v in frequency_map.values() {
if v % 2 == 0 {
even_min = even_min.min(v);
} else {
odd_max = odd_max.max(v);
}
}
odd_max - even_min
}
}
// submission codes end
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_3442() {
assert_eq!(3, Solution::max_difference("aaaaabbc".to_string()));
assert_eq!(1, Solution::max_difference("abcabcab".to_string()));
}
}