915. 分割数组
分析
- 从右往左预处理出数组
r[i],表示从位置i到末尾的最小值 - 遍历查找分界点:
- 从左往右遍历,用变量
l记录当前left的最大值 - 每到一个位置,检查
l <= r[i + 1],如果满足,说明当前划分是合法的,可以返回当前left的长度
- 从左往右遍历,用变量
时间复杂度
时间复杂度 O(n)
空间复杂度
空间复杂度 O(n)
C++代码
|
|
r[i],表示从位置 i 到末尾的最小值l 记录当前 left 的最大值l <= r[i + 1],如果满足,说明当前划分是合法的,可以返回当前 left 的长度时间复杂度 O(n)
空间复杂度 O(n)
|
|