思路1 双指针

  • 如果l大于区间里的最小值,则l需要被包括

  • 如果r小于区间里的最大值,则r需要被包括

一次遍历,同时从前后两个方向扫描数组

  • 从前往后,如果arr[i]比max小,则把r更新为i,否则更新max

  • 从后往前,如果arr[len-1-i]比min大,则把l更新为len-1-i,否则更新min

Last updated