aboutsummaryrefslogtreecommitdiff
path: root/shortest_unsorted_subarr.cpp
blob: 849f5244f2f5613590c91482bccd17acd10d56df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "leetcode.h"

class Solution {
public:
  int findUnsortedSubarray(vector<int> &nums) {
    int end = -1, start = 0;
    int max = nums[0], min = nums[nums.size() - 1];
    for (int i = 1; i < nums.size(); i++) {
      if (max > nums[i])
        end = i;
      else
        max = nums[i];
    }
    for (int i = nums.size() - 2; i >= 0; i--) {
      if (min < nums[i])
        start = i;
      else
        min = nums[i];
    }
    return end - start + 1;
  }
};

int main() {
  vector<int> nums = {2, 6, 4, 8, 10, 9, 15};
  Solution obj;
  for (int i = 0; i < nums.size(); i++)
    cout << nums[i] << ' ';
  cout << endl << obj.findUnsortedSubarray(nums);
}