首页 > 试题广场 > 有序序列判断
[编程题]有序序列判断
输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序。

输入描述:
第一行输入一个整数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)
let N = parseInt(readline());
let numList = readline().split(' ');

let signal = parseInt(numList[0])-parseInt(numList[1]);
let status = true;
for(let i=1; i<N-1; i++){
    if(signal*(parseInt(numList[i])-parseInt(numList[i+1]))<0){
        status = false;
        break;
    }
}
console.log(status ? 'sorted' : 'unsorted');

发表于 2019-09-12 12:15:04 回复(0)