题解 | #有序序列判断#
有序序列判断
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; }