问题链接 LeetCode 795 题目解析 给定一个数组A,左右范围L.R.求子数组的数量,要求:子数组最大值在L.R之间. 解题思路 子数组必须连续,利用最大值R对数组进行分段,设定变量 left 记录每段开始位置(\(A[left] > R\),\(A[left+1] ≤ R\)),初始值为-1. 遍历数组,通过A[i]大小判断: 若 A[i] 在L.R之间,则 ans+=(i-j): 若 A[i] 大于R,则更改左界 left=i: 关键在于处理小于L的情况,由于需要子数组的最大值在L.…