题解 | #有序序列判断#

有序序列判断

https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e

#include <stdio.h>

int main() 
{
    int n;
    pass:
    {
      while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        
    
            int arr[n];
        int i;
        int count = 0;
        int count1 = 0;
        int count2 = 0;
       
        for(i = 0; i< n;i++)
        {
            scanf("%d", &arr[i]);
        }
        
        for(i = 0; i< n - 1;i++)
        {
            if(arr[i] > arr[i + 1])
            {
                count++;
            }
            else if(arr[i] < arr[i + 1])
            {
                count2++;
            }
            else if (arr[i] == arr[i + 1])
            {
                 count1++;
            }
        }
        if(count == n - 1 || count2 == n - 1 ||count1 == n - 1)
        {
            printf("sorted");
        }
        else
        {
             printf("unsorted");
        }
 
      }
    }
    return 0;
}
    return 0;
}

这个思路很有意思

设定一个变量count

依次遍历数组

每次从左至右遇见一个大于或小于或等于x的数时

count++一次

当count与n - 1次相等时即为有序

全部评论

相关推荐

躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务