leetcode

我的 leetcode 题解(JavaScript)


end用来标记待排序数组的最后一位,start用来标记第一位

const findUnsortedSubarray = function (nums) {
  let n = nums.length, min = nums[n - 1], max = nums[0], start=1, end=0;
  for (let i = 0; i < n; ++i) {
    max = nums[i] > max ? nums[i] : max;
    min = nums[n - 1 - i] < min ? nums[n - 1 - i] : min;
    if (nums[i] < max) {
      end = i;
    }
    if (nums[n - 1 - i] > min) {
      start = n - 1 - i;
    }
  }
  return end - start + 1;
};