打印极值点下标

sb读入!sb输出,不能输出空行!

找数组中的极值点。

const int N=210;
int a[N];
int n;

int main()
{
    int T;
    while(cin>>T)
    {
        while(T--)
        {
            cin>>n;
            for(int i=0;i<n;i++) cin>>a[i];

            vector<int> ans;
            if(a[0] != a[1]) ans.pb(0);
            for(int i=1;i<n-1;i++)
                if((a[i] > a[i-1] && a[i] > a[i+1]) || (a[i] < a[i-1] && a[i] < a[i+1]))
                    ans.pb(i);
            if(a[n-1] != a[n-2]) ans.pb(n-1);

            if(ans.size())
            {
                for(int i=0;i<ans.size();i++)
                {
                    if(i) cout<<' '<<ans[i];
                    else cout<<ans[i];
                }
                cout<<endl;
            }
        }
    }
    //system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/fxh0707/p/14395442.html