leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
2444.cpp (587B)
0 class Solution { 1 public: 2 long long countSubarrays(vector<int> &nums, int minK, int maxK) { 3 int n = nums.size(), leftBound = -1, lastMin = -1, lastMax = -1; 4 long long count = 0; 5 6 for (int i = 0; i < n; i++) { 7 if (nums[i] < minK || nums[i] > maxK) { 8 leftBound = i, lastMin = -1, lastMax = -1; 9 continue; 10 } 11 if (nums[i] == minK) lastMin = i; 12 if (nums[i] == maxK) lastMax = i; 13 count += max(0, min(lastMin, lastMax) - leftBound); 14 } 15 16 return count; 17 } 18 };