LeetCode 2972. 统计移除递增子数组的数目 II
原题链接
困难
作者:
autumn_0
,
2024-07-12 00:08:45
,
所有人可见
,
阅读 2
class Solution {
public:
long long incremovableSubarrayCount(vector<int>& nums) {
long long ans = 0;
int len = nums.size();
int l = 0;
while (l < len - 1) {
if (nums[l] >= nums[l + 1]) {
break;
}
l++;
}
if (l == len - 1) {
return 1LL * len * (len + 1) / 2;
}
ans += l + 2;
for (int r = len - 1; r > 0; r--) {
if (r < len - 1 && nums[r] >= nums[r + 1]) {
break;
}
while (l >= 0 && nums[l] >= nums[r]) {
l--;
}
ans += l + 2;
}
return ans;
}
};