解法:
代码:
需要注意的地方:left和right初始值的设置,
left, right = 0, -1 #为了保证如果是一个排好序的数组返回0
class Solution:
def findUnsortedSubarray(self, nums: List[int]) -> int:
n = len(nums)
left, right = 0, -1 #为了保证如果是一个排好序的数组返回0
MIN, MAX = nums[-1], nums[0]
for i in range(n):
if MAX > nums[i]:
right = i
else:
MAX = nums[i]
if MIN < nums[n-1-i]:
left = n-1-i
else:
MIN = nums[n-1-i]
return right - left + 1