DeepRest

Shortest Unsorted Continuous Subarray

May 2nd, 2022 (edited)
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.55 KB | None | 0 0
  1. class Solution:
  2.     def findUnsortedSubarray(self, nums: List[int]) -> int:
  3.         n = len(nums)
  4.        
  5.         preMax = float("-inf")
  6.         sufMin = float("+inf")
  7.        
  8.         st = 0
  9.         en = -1
  10.        
  11.         for i in range(n):
  12.             preMax = max(preMax, nums[i])
  13.             if preMax != nums[i]:
  14.                 en = i
  15.    
  16.         for i in range(n-1, -1, -1):
  17.             sufMin = min(sufMin, nums[i])
  18.             if sufMin != nums[i]:
  19.                 st = i
  20.        
  21.         return en-st+1
  22.        
  23.        
Add Comment
Please, Sign In to add comment