题解 | #有序序列判断#
有序序列判断
http://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
通过计数来判断是否有序
针对此题我的想法是:将前一个数和后一个数做差,根据大于小于的情况进行计数,如果计数的情况为n-1,那么就说明此序列两两相减的趋势相同,所以可对其进行是否有序的判断
int main()
{
int i,arr[100],n,cnt1=0,cnt2=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<n-1;i++)
{
if(arr[i]-arr[i+1]>=0)
cnt1++;//降序计数
else if(arr[i]-arr[i+1]<=0)
cnt2++;//升序计数
}
if(cnt1==n-1||cnt2==n-1)//一共n个数,两两相减的到n-1个结果
printf("sorted");
else
printf("unsorted");
}