问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int* a = new int[n];
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
int sg = 0;
for (int i = 0; i < n-1 ; i++)
{
if (a[0] >= a[1])
{
if(a[i]<a[i+1]&&(sg==0||sg==2))
{
sg++;
}
if (sg != 0 && a[i] > a[i + 1])
{
sg++;
}
}
if (a[0] < a[1])
{
if (a[i] >a[i + 1] && (sg == 0||sg==2))
{
sg++;
}
if (sg != 0 && a[i] < a[i + 1])
{
sg++;
}
}
}
if (sg == 0 ||sg== 1||sg==2)
{
cout << "Yes";
}
else
cout << "No";
}
运行结果及详细报错内容
不好意思未知测试数据😬
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
任何不符合条件的数组必然有三个及三个以上的单调性改变点sg