Find Good Days to Rob the Bank LeetCode solution in Rust

1
impl Solution {
2
pub fn good_days_to_rob_bank(security: Vec<i32>, time: i32) -> Vec<i32> {
3
let mut p1 = vec![0; security.len()];
4
for i in 1..p1.len() {
5
if security[i - 1] >= security[i] {
6
p1[i] = 1 + p1[i - 1];
7
}
8
}
9
// println!("{:?}", p1);
10

11
let mut p2 = vec![0; security.len()];
12
for i in (0..p2.len() - 1).rev() {
13
if security[i + 1] >= security[i] {
14
p2[i] = 1 + p2[i + 1];
15
}
16
}
17
// println!("{:?}", p2);
18

19
let mut ans = vec![];
20

21
for i in 0..security.len() {
22
if p1[i] >= time && p2[i] >= time {
23
ans.push(i as i32);
24
}
25
}
26

27
ans
28
}
29
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0