hihocoder 1523 数组重排2+思维

参考:http://blog.csdn.net/howardemily/article/details/74991367

题意:每次可以移动数组中的一个数到数组的最左边,问最少操作数,使得数列升序;

思路:因为每次移动到最左边,所以从右边开始(这样移动后不会影响之前的判断),如果这个数是结果位子的数,就不用移动,就在ans中-1;

#include <iostream>
using namespace std; const int maxn = ;
int a[maxn]; int main(){
int n;
cin>>n;
for(int i=;i<=n;i++)
{
cin>>a[i];
}
int ans = n;
for(int i=n; i>=; --i)
{
if(a[i]==n)
{
n--;
ans--;
}
}
cout<<ans<<endl;
return ;
}
上一篇:hihocoder 1523:数组重排2


下一篇:hihoCoder 1523 数组重排2 贪心