classSolution { public: intfindUnsortedSubarray(const std::vector<int>& nums){ if (nums.empty() || nums.size() < 2) { return0; } int count = nums.size(); int left = -1; int min = count-1; for (int i = count-2; i >= 0; --i) { if (nums[i] > nums[min]) { left = i; } else { min = i; } } if (left == -1) { return0; } int right = 0; int max = 0; for (int i = 1; i < count; ++i) { if (nums[i] < nums[max]) { right = i; } else { max = i; } } return right - left + 1; } };