题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
//本题解题思路走计数器方式,用两项的差同时大于等于或者小于等于的个数相等于n-1,实现证明序列是否有序(代码可实现利用count1和count2表明序列为升序排序或是降序排序。
#include <stdio.h>
int main() {
int n=0;
while (scanf("%d", &n) != EOF) {
int i=0;
int arr[50]={0};
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int count1=0;
int count2=0;
for(i=0;i<n-1;i++)
{
if(arr[i]>=arr[i+1])
{
//升序计数
count1++;
}
if(arr[i]<=arr[i+1])
{
//降序计数
count2++;
}
}
if(count1==n-1||count2==n-1)
{
printf("sorted");
}
else {
printf("unsorted");
}
}
return 0;
}
