题目描述:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CO0YTM5cjNlVTOjJWY4AjNzYzX2UTN1ATMxAzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
class Solution {
public:
int findUnsortedSubarray(vector<int>& nums) {
vector<int>::iterator itb=nums.begin();
vector<int>::iterator ite=nums.end();
vector<int> copy(itb,ite);
sort(copy.begin(),copy.end());
int i=0,j=nums.size()-1;
while(i<copy.size()){
if(copy[i]!=nums[i])
break;
i++;
}
while(j>=0){
if(copy[j]!=nums[j])
break;
j--;
}
return i<=j?j-i+1:0;
}
};
class Solution {
public:
int findUnsortedSubarray(vector<int>& nums) {
int min=INT_MIN,max=INT_MAX;
int end=0,start=nums.size()-1;
int n=nums.size();
for(int i=0;i<nums.size();i++){
if(nums[i]>=min){
min=nums[i];
end++;
}else
end=0;
if(nums[n-1-i]<=max){
max=nums[n-1-i];
start++;
}else
start=0;
}
return std::max(0,n-end-start);
}
};