Maximum Unsorted Subarray | Algorithm Simplified | Tutorial 6

preview_player
Показать описание
You are given an array (zero-indexed) of N non-negative integers, A0, A1 ,…, AN-1.

Find the minimum sub-array Al, Al+1 ,…, Ar so if we sort(in ascending order) that sub-array, then the whole array should get sorted.

If A is already sorted, output -1.

Don't forget to Subscribe For More Videos Like This One.

Рекомендации по теме
Комментарии
Автор

vector<int> &A) {
int n=A.size();
int f1=-1, f2=-1;
vector<int> tmp=A;
sort(tmp.begin(), tmp.end());

for(int i=0;i<n;i++){
if(A[i]!=tmp[i]){
f1=i;
break;
}
}

for(int i=n-1;i>=0;i--){
if(A[i]!=tmp[i]){
f2=i;
break;
}
}
if(f1==-1 && f2==-1){
return {-1};
}
if(f1==f2){
return {-1};
}

return {f1, f2};

}

MayankLC