#2444
Hard Algorithms Count subarrays with fixed bounds
Array Queue Sliding Window Monotonic Queue
69.2% acceptance
Feb 25, 2026
3760
97
You are given an integer array nums and two integers minK and maxK.
A fixed-bound subarray of nums is a subarray that satisfies the following con
ditions: * The minimum value in the subarray is equal to minK.
The maximum value in the subarray is equal to maxK.
Return the number of fixed-bound subarrays.
A subarray is a contiguous part of an array.
Solution
Rust
Time O(n)
Space O(1)
impl Solution {
pub fn count_subarrays(nums: Vec<i32>, min_k: i32, max_k: i32) -> i64 {
let mut ans = 0i64;
let mut last_bad = -1i64;
let mut last_min = -1i64;
let mut last_max = -1i64;
for (i, &v) in nums.iter().enumerate() {
let i = i as i64;
if v < min_k || v > max_k {
last_bad = i;
}
if v == min_k { last_min = i; }
if v == max_k { last_max = i; }
let contrib = last_min.min(last_max) - last_bad;
if contrib > 0 { ans += contrib; }
}
ans
}
}