diff --git a/2444. Count Subarrays With Fixed Bounds b/2444. Count Subarrays With Fixed Bounds new file mode 100644 index 0000000..73f720b --- /dev/null +++ b/2444. Count Subarrays With Fixed Bounds @@ -0,0 +1,21 @@ +class Solution { + public: + long long countSubarrays(vector& nums, int minK, int maxK) { + long long ans = 0; + int j = -1; + int prevMinKIndex = -1; + int prevMaxKIndex = -1; + + for (int i = 0; i < nums.size(); ++i) { + if (nums[i] < minK || nums[i] > maxK) + j = i; + if (nums[i] == minK) + prevMinKIndex = i; + if (nums[i] == maxK) + prevMaxKIndex = i; + ans += max(0, min(prevMinKIndex, prevMaxKIndex) - j); + } + + return ans; + } +};