1
use std::cmp::max;
2
use std::collections::HashMap;
3
impl Solution {
4
pub fn partition_labels(s: String) -> Vec<i32> {
5
let mut h1: HashMap<String, i32> = HashMap::new();
6
for (i, s) in s.chars().enumerate() {
7
h1.insert(s.to_string(), i as i32);
8
}
9

10
let mut v1: Vec<i32> = Vec::new();
11
let mut res: i32 = 0;
12
let mut out = 0;
13
for (i, s) in s.chars().enumerate() {
14
res = max(h1[&s.to_string()], res);
15
if (i as i32) == res {
16
v1.push(res + 1 - out);
17
out = res + 1;
18
}
19
}
20
return v1;
21
}
22
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0