题解 | #有序序列判断#

有序序列判断

https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e

#include<stdio.h>
int main()
{
	int n = 0,i=0,j=0,count=0;
	int a[50] = { 0 };

	scanf("%d", &n);

	for (i = 0; i < n; i++)
	{
		scanf("%d",&a[i]);
	}

	for (i = 0; i < n - 1; i++)   //外循环n-1次  如果n==5,0---4  5次 所以不取=
	{
		for (j = 0; j < n - 1 - i; j++)    //内循环从n-1次开始递减   如果n==5,0---5-1-0  5次 所以不取=
		{
			if (a[j] > a[j + 1])
			{
				int tmp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = tmp;
				count++;
			}
		}
	}
	//如果递增序列,count值不加,为0
	//如果值都相同,count值也加,为0
	//如果递减序列, n-1次到0次 等差数列求和(n-1)*n/2 次
	int sum = (n * (n - 1)) / 2;
	if (count == 0 || count == sum)
		printf("sorted");
	else
		printf("unsorted");


	return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 13:05
TMD找工作本来就烦,这东西什么素质啊😡
Beeee0927:hr是超雄了,不过也是有道理的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务