算法1
(暴力枚举) $O(n^2)$
直接模拟,就行了!
时间复杂度
参考文献
C++ 代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int a[1010];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
int i=1,j=n;
while(i<=n && a[i]==i) i++;
while(j>=1 && a[j]==j) j--;
if(i>j){
cout<<0<<" "<<0<<endl;
return 0;
}
reverse(a+i,a+j+1);
bool tag = true;
for(int i=1;i<=n;i++){
if(a[i]!=i){
tag = false;
break;
}
}
if(tag) cout<<i<<" "<<j<<endl;
else cout<<0<<" "<<0<<endl;
return 0;
}