#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int h[n];
for(int i=0;i<n;i++)cin>>h[i];
int cnt=0;
bool hi=false;
for(int i=0;i<n-2;i++)
{
if(h[i]<h[i+1])
{
//cout<<"!"<<endl;
hi=false;
if(h[i+1]>h[i+2])
{
cnt++;
hi=true;
}
else if(h[i+1]<h[i+2])continue;
else
{
while(h[i+1]==h[i+2])i++;
i--;
}
//cout<<"@"<<endl;
}
else if(h[i]==h[i+1])
{
if(h[i+1]>h[i+2])
{
if(!hi)
{
cnt++;
hi=true;
}
}
else if(h[i+1]<h[i+2])continue;
else
{
while(h[i+1]==h[i+2])i++;
i--;
}
}
}
cout<<cnt<<endl;
}
//system("pause");
return 0;
}
應該拿h[i]比h[i-1] 不建議拿h[i]比h[i+1],因為i是你正在討論的
你輸入 4 3 2 2 1
你就發現錯誤了
如有幫助,還希望能幫我衝衝人氣
http://ntnuee40475032h.pixnet.net/blog
謝謝