581.最短无序连续子数组

最短无序连续子数组

给你一个整数数组 nums,你需要找出一个连续子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的最短子数组,并输出它的长度。

解析

1
2
3
4
5
6
7
8
9
10
var findUnsortedSubarray = function (nums) {
const n = nums.length;
let maxVal = -Infinity, minVal = Infinity;
let left = -1, right = -1;
for (let i = 0; i < n; i++) {
if (nums[i] < maxVal) right = i; else maxVal = nums[i];
if (nums[n - 1 - i] > minVal) left = n - 1 - i; else minVal = nums[n - 1 - i];
}
return right === -1 ? 0 : right - left + 1;
};

581.最短无序连续子数组
https://leetcode.lz5z.com/581.shortest-unsorted-continuous-subarray/
作者
tickli
发布于
2024年10月28日
许可协议