当前位置: 首页 > article >正文

Nicn的刷题日常之 有序序列判断

 

目录

1.题目描述 

描述

输入描述:

输出描述:

示例1

示例2

示例3

2.解题


 

1.题目描述 

描述

输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。

数据范围: 3≤�≤50 3≤n≤50  序列中的值都满足 1≤���≤100 1≤val≤100 

输入描述:

第一行输入一个整数N(3≤N≤50)。

第二行输入N个整数,用空格分隔N个整数。

输出描述:

输出为一行,如果序列有序输出sorted,否则输出unsorted。

示例1

输入:

5
1 6 9 22 30

复制输出:

sorted

复制

示例2

输入:

5
3 4 7 2 10

复制输出:

unsorted

复制

示例3

输入:

5
1 1 1 1 1

复制输出:

sorted

2.解题

解法1:

#include <stdio.h>



int main()

{



    int n = 0;

    int arr[20000] = { 0 };

    scanf("%d", &n);

    int cont = 0;

    int cout = 0;

    int j = 0;

    for (j = 0; j < n; j++)

    {

        scanf("%d", &arr[j]);

    }

    int i = 0;

    for (i = 0; i < n-1; i++)

    {

        if (arr[i] <= arr[i + 1])

        {

            cont++;//判断是不是升序

        }

        else if (arr[i] >= arr[i + 1])

        {

            cout++;//判断降序

        }

    }

    if (cout == n-1|| cont == n-1)

    {

        printf("sorted\n");

    }

    else

    {

        printf("unsorted\n");

    }

    

    

    return 0;

}

解法2:

#include <stdio.h>

int main()
{
    int n = 0;
    int arr[50] = {0};
    scanf("%d", &n);
    int i = 0;
    int flag1 = 0;
    int flag2 = 0;
    for(i=0; i<n; i++)
    {
        scanf("%d", &arr[i]);
        if(i>0)
        {
            if(arr[i]>arr[i-1])
                flag1 = 1;
            else if(arr[i]<arr[i-1])
                flag2 = 1;
        }
    }
    //flag1 和 flag2 都为1是乱序的
    if(flag1+flag2 > 1)
        printf("unsorted\n");
    else
        printf("sorted\n");
    return 0;
}


http://www.kler.cn/a/230007.html

相关文章:

  • Java中的线程池使用详解
  • Android 12.0新增自定义HIDL问题记录
  • c++-用c++解决简单数学问题
  • Next.js 独立开发教程(八):静态渲染与动态渲染的应用
  • Redis设计与实现 学习笔记 第二十章 Lua脚本
  • RTMP协议
  • 计算机设计大赛 深度学习 python opencv 实现人脸年龄性别识别
  • Windows11安装运行Linux(Ubuntu)
  • Android Split APK介绍
  • R语言入门笔记2.1
  • annaconda如何切换当前python环境
  • 【机器学习】基于K-近邻的车牌号识别
  • JavaEE企业级应用软件开发—Spring框架入门学习笔记(一)
  • 探索设计模式的魅力:设计之美-揭秘设计模式、原则与UML的魔法
  • mhz_c1f
  • Android:多线程下载网络图片
  • IntelliJ IDE 插件开发 | (六)内部模式的使用
  • 2024/2/6
  • JS实现一键复制、选中复制、选中多行复制
  • 确定问卷调查样本量
  • C遗漏知识(个人向)
  • 【FPGA】高云FPGA之IP核的使用->PLL锁相环
  • 解决C#中无限递归导致的System.StackOverflowException异常
  • 通过无线打通两个路由器
  • React 错误边界组件 react-error-boundary 源码解析
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~