diff --git a/src/problem/mod.rs b/src/problem/mod.rs index bdcf1ca..11ce04e 100644 --- a/src/problem/mod.rs +++ b/src/problem/mod.rs @@ -564,3 +564,5 @@ mod p2711_difference_of_number_of_distinct_values_on_diagonals; mod p2829_determine_the_minimum_sum_of_a_k_avoiding_array; mod p2712_minimum_cost_to_make_all_characters_equal; + +mod p2716_minimize_string_length; diff --git a/src/problem/p2716_minimize_string_length.rs b/src/problem/p2716_minimize_string_length.rs new file mode 100644 index 0000000..acfe9b3 --- /dev/null +++ b/src/problem/p2716_minimize_string_length.rs @@ -0,0 +1,30 @@ +/** + * [2716] Minimize String Length + */ +pub struct Solution {} + +// submission codes start here +use std::collections::HashSet; +use std::iter::FromIterator; + +impl Solution { + pub fn minimized_string_length(s: String) -> i32 { + let set: HashSet = HashSet::from_iter(s.bytes()); + + set.len() as i32 + } +} + +// submission codes end + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_2716() { + assert_eq!(3, Solution::minimized_string_length("aaabc".to_owned())); + assert_eq!(3, Solution::minimized_string_length("cbbd".to_owned())); + assert_eq!(2, Solution::minimized_string_length("dddaaa".to_owned())); + } +}