需要排序的最短子数组长度
给定一个无序数组arr,求出需要排序的最短子数组的长度,对子数组排序后能使得整个数组有序,即为需要排序的数组。例如:arr=[1,5,3,4,2,6,7] 返回 4,因为只有 [5,3,4,2] 需要排序。
function len(arr) {const l = arr.length;let tempMax = 0;let tempMaxIndex = 0;let tempMin = Infinity;let tempMinIndex = l - 1;for(let i = 0; i < l; i++) {if (arr[i] > tempMax) {tempMax = arr[i];} else {tempMaxIndex = i;}if (arr[l - i - 1] > tempMin) {tempMinIndex = l - i - 1;} else {tempMin = arr[l - i - 1];}}console.log([arr[tempMinIndex], arr[tempMaxIndex]]);return tempMaxIndex - tempMinIndex + 1;}len([1,5,2,3,6,4,7]);