首页 > 试题广场 >

有序序列判断

[编程题]有序序列判断
  • 热度指数:50493 时间限制: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
示例3

输入

5
1 1 1 1 1

输出

sorted
头像 从入门到出门
发表于 2021-12-31 12:34:47
通过计数来判断是否有序 针对此题我的想法是:将前一个数和后一个数做差,根据大于小于的情况进行计数,如果计数的情况为n-1,那么就说明此序列两两相减的趋势相同,所以可对其进行是否有序的判断 int main() { int i,arr[100],n,cnt1=0,cnt2=0; sca 展开全文
头像 永不秃头!
发表于 2022-02-14 00:38:16
这应该是最简便的写法了 #include <stdio.h> int main() { int a[55], n, flag1 = 0, flag2 = 0, i; scanf("%d", &n); for (i = 0; i < n; i++) { 展开全文
头像 EFFAF
发表于 2021-10-31 08:07:05
#include<stdio.h> int main() { int N,a,i,s=1,c=1,f=1; int arr[50]={0}; scanf("%d",&N); for(i=0;i<N;i++) { sca 展开全文
头像 牛客题解官
发表于 2020-06-04 17:19:55
题目描述输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序。输入描述:第一行输入一个整数N(3≤N≤50)。第二行输入N个整数,用空格分隔N个整数。输出描述:输出为一行,如果序列有序输出sorted,否则输出unsorted。 解题思路升序和降序都是有序,首先判断 展开全文
头像 牛客612473730号
发表于 2022-04-24 12:03:02
比较简洁的方式写出来的,觉得可以点个赞呗 #include<stdio.h> #define N 50 int main(void){ int a[N],i,j,n,flag=1; scanf("%d",&n); for(i=0;i<n;i++){ scanf("% 展开全文
头像 我不是匠人
发表于 2021-04-03 19:51:12
思路 考点:数组,排序 方法:先深拷贝一个辅助数组,再对数组排序,判断两个数组的值是否相等,不等再把辅助数组逆序,再次判断是否相等,再不等就输出无序。 import java.util.ArrayList; import java.util.Collections; import java.ut 展开全文
头像 牛客82035003号
发表于 2022-01-10 21:41:47
#include <stdio.h> int main() {   int n, i;    int arr[50] = {0};   int&nb 展开全文
头像 白伟仝
发表于 2021-01-17 18:46:59
杀鸡牛刀: import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = 展开全文
头像 不懂《算法》的《小白》
发表于 2022-02-06 11:22:07
又是一个不用数组系列 用到一个非常基本的数学 (b-a)*(c-b)>=0,那么a,b,c就是有序的 #include <iostream> using namespace std; int main() { int len; cin>>len; 展开全文
头像 一只咖啡君
发表于 2022-10-09 01:16:13
#include <stdio.h> int main() { int n, flag1 = 0, flag2 = 0; scanf("%d", &n); int arr[n + 1]; for (int i = 0; i < n; i++ 展开全文