问题:
Select 一个100,这样101,交换102和Ai+1
给定一个数组A,确定它是否是伪排序的.
输入格式
输出格式
您可以用大写或小写打印YES和NO的每个字符(例如,yes
、yEs
、Yes
将被视为相同).
限制条件:
- 1.≤ T≤ 1000
- 2.≤ N≤ 105
- 1≤Ai≤109
- 所有测试用例中N的总和不超过2⋅105
示例输入1:
3
5
3 5 7 8 9
4
1 3 2 3
3
3 2 1
示例输出1:
YES
YES
NO
My Solution:
#include <stdio.h>
int main()
{
int T, N, ara[100000], count, i, j;
scanf("%d", &T);
for (i = 0; i < T; i++)
{
scanf("%d", &N);
for (j = 0; j < N; j++)
{
scanf("%d", &ara[j]);
}
count = 0;
for (j = 1; j < N; j++)
{
if (ara[j] < ara[j - 1])
{
count++;
}
}
if (count <= 1)
{
printf("YES\n");
}
else if (count > 1)
{
printf("NO\n");
}
}
return 0;
}
但是,我在一些测试用例中遇到了错误,尽管我的代码在给定的测试用例中运行良好.有人能帮我识别错误吗?