平民解法: 既然是找最小数组,那就得到一个排序好的数组,然后直接和初试数组比对,用一个left,right分别记录从最初开始不同,到最后不同的小标,最后左右做差再加一,就能得到长度. 其他解法: 双指针 + 线性扫描另外一个做法是,我们把整个数组分成三段处理. 起始时,先通过双指针 ii 和 jj 找到左右两次侧满足 单调递增 的分割点. 即此时 [0, i][0,i] 和 [j, n)[j,n) 满足升序要求,而中间部分 (i, j)(i,j) 不确保有序. 然后我们对中间部分 [i, j][…