判断一个长度为 N 的整数序列是否“有序”,即是否非严格单调不减或非严格单调不增。 核心做法是一次线性扫描并维护两个布尔标记:
nonDecreasing
:若始终满足 a[i] >= a[i-1]
则为真;nonIncreasing
:若始终满足 a[i] <= a[i-1]
则为真。扫描完成后,只要两者之一为真,就说明序列有序。 相关算法:单次线性遍历 + 单调性判定(也可视为双指示器的单调检查),无需排序或额外数据结构。
输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。
数据范围:3≤n≤50 序列中的值都满足 1≤val≤100
第一行输入一个整数 N(3≤N≤50) 。
第一行输入 N 个整数,用空格分隔 N 个整数。
输出为一行,如果序列有序输出 sorted ,否则输出 unsorted 。
输入
5
1 6 9 22 30
输出
sorted
输入
5
3 4 7 2 10
输出
unsorted
输入
5
1 1 1 1 1
输出
sorted