#581

Shortest Unsorted Continuous Subarray

medium · verified · 38% accepted · 8,016 likes · top 17%

array · two pointers · stack · greedy · sorting · monotonic stack

⊣ practice⊣ quiz⊣ open on leetcode ↗

Description

Given an integer array nums, you need to find one continuous subarray such that if you only sort this subarray in non-decreasing order, then the whole array will be sorted in non-decreasing order.

Return the shortest such subarray and output its length.

Example 1:

Input: nums = [2,6,4,8,10,9,15]
Output: 5
Explanation: You need to sort [6, 4, 8, 10, 9] in ascending order to make the whole array sorted in ascending order.

Example 2:

Input: nums = [1,2,3,4]
Output: 0

Example 3:

Input: nums = [1]
Output: 0

Solution