Number of Subarrays with Bounded Maximum LeetCode solution in C++

1
class Solution {
2
public:
3
int numSubarrayBoundedMax(vector<int> &nums, int left, int right) {
4
int n = nums.size();
5
int si = 0; // starting index
6
int ei = 0; // ending index
7
int result = 0, prev_count = 0;
8
while (ei < n) {
9
if (left <= nums[ei] && nums[ei] <= right) {
10
prev_count = ei - si + 1;
11
result += prev_count;
12
} else if (nums[ei] < left) {
13
result += prev_count;
14
} else {
15
// right < nums[ei]
16
si = ei + 1;
17
prev_count = 0;
18
}
19
ei++;
20
}
21
return result;
22
}
23
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0