题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <iostream> using namespace std; int main() { int n; cin >> n; int arr[n]; for (int i =0;i<n;i++) cin >> arr[i]; int flag =1; //只要有一个个例就能判断,设置一个标志:"flag" for (int i =0;i<n-2;i++) //一旦某一组相邻的3个数不是有序排列,即可判断非有序 { if(arr[i]>=arr[i+1]&&arr[i+1]<arr[i+2]) flag = 0; else if (arr[i]<=arr[i+1]&&arr[i+1]>arr[i+2]) flag = 0; } flag == 1 ? cout << "sorted" :cout << "unsorted" ; //根据flag值判断是否整体有序 return 0; } // 64 位输出请用 printf("%lld")