1use std::cmp::max;2use std::collections::HashMap;3impl Solution {4pub fn partition_labels(s: String) -> Vec<i32> {5let mut h1: HashMap<String, i32> = HashMap::new();6for (i, s) in s.chars().enumerate() {7h1.insert(s.to_string(), i as i32);8}910let mut v1: Vec<i32> = Vec::new();11let mut res: i32 = 0;12let mut out = 0;13for (i, s) in s.chars().enumerate() {14res = max(h1[&s.to_string()], res);15if (i as i32) == res {16v1.push(res + 1 - out);17out = res + 1;18}19}20return v1;21}22}