Shortest Unsorted Continuous Subarray - Array - Medium - LeetCode
💻 coding

Shortest Unsorted Continuous Subarray - Array - Medium - LeetCode

1 min read 187 words
1 min read
ShareWhatsAppPost on X
  • 1The problem involves finding the shortest continuous subarray that needs sorting to make the entire array sorted.
  • 2An example shows that sorting the subarray [6, 4, 8, 10, 9] results in the entire array being sorted.
  • 3The solution has a time complexity of O(n) and a space complexity of O(n).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem involves finding the shortest continuous subarray that needs sorting to make the entire array sorted."

Shortest Unsorted Continuous Subarray - Array - Medium - LeetCode

Given an integer array nums, you need to find one continuous subarray that if you only sort this subarray in ascending order, then the whole array will be sorted in ascending 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

Constraints:

1 <= nums.length <= 104 -105 <= nums[i] <= 105

public class Solution {
 public int FindUnsortedSubarray(int[] nums) {
 var l = new int[nums.Length];
 var r = new int[nums.Length];
 
 int max = int.MinValue;
 for(int i=0;i<nums.Length;i++){
 if(nums[i]>max){
 max = nums[i];
 }
 l[i]=max;
 }
 
 int min = int.MaxValue;
 for(int i=nums.Length-1;i>=0;i--){
 if(nums[i]<min){
 min = nums[i];
 }
 r[i]=min;
 }
 
 int left = 0;
 for(int i=0;i<nums.Length;i++){
 if(l[i]!=r[i]){
 left = i;
 break;
 }
 }
 
 int right = 0;
 for(int i=nums.Length-1;i>=0;i--){
 if(l[i]!=r[i]){
 right=i;
 break;
 }
 }
 
 if(left == right){
 return 0;
 }
 
 return right - left + 1;
 }
}

Time Complexity: O(n)

Space Complexity: O(n)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 21 November 2020 · 1 min read · 187 words

Part of AskGif Blog · coding

You might also like