首页 > 试题广场 >

有序序列判断

[编程题]有序序列判断
  • 热度指数:292 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序。

输入描述:
第一行输入一个整数N(3≤N≤50)。
第二行输入N个整数,用空格分隔N个整数。


输出描述:
输出为一行,如果序列有序输出sorted,否则输出unsorted。
示例1

输入

5
1 6 9 22 30

输出

sorted
示例2

输入

5
3 4 7 2 10

输出

unsorted
n = input()
a = list(map(int,input().split()))
a_i = a[0]
det = a[-1]-a[0]
for i in range(1,len(a)):
  if det == 0:
    if a[i] != a_i:
      print("unsorted")
      break
  else:
    if (a[i]-a_i) * det >0:
      a_i = a[i]
    else:
      print("unsorted")
      break
else:
  print("sorted")
要考虑首尾元素相等的情况
发表于 2019-09-12 15:51:49 回复(0)