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