Count Bowl Subarrays
You are given an integer array nums with distinct elements.
A subarray nums[l...r] of nums is called a bowl if:
- The subarray has length at least 3, that is,
r - l + 1 >= 3. - The minimum of its two ends is strictly greater than the maximum of all elements in between, that is,
min(nums[l], nums[r]) > max(nums[l + 1], ..., nums[r - 1]).
Return the number of bowl subarrays in nums.
Example 1
Input
nums = [2,5,3,1,4]Output
2The bowl subarrays are
[3, 1, 4] and [5, 3, 1, 4].Example 2
Input
nums = [5,1,2,3,4]Output
3The bowl subarrays are
[5, 1, 2], [5, 1, 2, 3], and [5, 1, 2, 3, 4].Constraints
- 3 <= nums.length <= 10^5
- 1 <= nums[i] <= 10^9
- nums consists of distinct elements.