Skip to content

Commit 7a16f7e

Browse files
authored
Update Solution.rs
1 parent 968955b commit 7a16f7e

File tree

1 file changed

+16
-14
lines changed
  • solution/2400-2499/2444.Count Subarrays With Fixed Bounds

1 file changed

+16
-14
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
impl Solution {
22
pub fn count_subarrays(nums: Vec<i32>, min_k: i32, max_k: i32) -> i64 {
3-
let mut res = 0;
4-
let mut min_index = -1;
5-
let mut max_index = -1;
6-
let mut k = -1;
7-
for i in 0..nums.len() {
8-
let num = nums[i];
3+
let mut ans: i64 = 0;
4+
let mut j1: i64 = -1;
5+
let mut j2: i64 = -1;
6+
let mut k: i64 = -1;
7+
for (i, &v) in nums.iter().enumerate() {
98
let i = i as i64;
10-
if num == min_k {
11-
min_index = i;
9+
if v < min_k || v > max_k {
10+
k = i;
1211
}
13-
if num == max_k {
14-
max_index = i;
12+
if v == min_k {
13+
j1 = i;
1514
}
16-
if num < min_k || num > max_k {
17-
k = i;
15+
if v == max_k {
16+
j2 = i;
17+
}
18+
let m = j1.min(j2);
19+
if m > k {
20+
ans += m - k;
1821
}
19-
res += (0).max(min_index.min(max_index) - k);
2022
}
21-
res
23+
ans
2224
}
2325
}

0 commit comments

Comments
 (0)