单身狗

我们这题的思路就是先排序,然后对相邻的两个元素做比较,如果不相等就把前面的记录下来,然后++往后

cpp 复制代码
void bsort(int* arr, int sz)
{
	int i = 0;
	int j = 0;
	for (i = 0; i < sz - 1; i++)
	{
		for (j = 0; j < sz - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
}
void findog(int* arr, int sz, int* num)
{
	bsort(arr, sz);//先排序
	int i = 0;
	int j = 0;
	for (i = 0; i < sz; )
	{
		if (arr[i] == arr[i + 1])//如果相等就+=2,跳过两个元素
		{
			i += 2;
		}
		else
		{
			num[j] = arr[i];//不相等就记录下来然后+1跟下一个作比较
			i++;
			j++;
		}
	}
}
int main()
{
	int arr[] = { 1,2,3,4,5,1,2,3,4,6 };
	int num[2] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	findog(arr, sz, num);
	printf("%d %d", num[0], num[1]);
	return 0;
}
相关推荐
前端技术几秒前
【鸿蒙实战】从零打造智能物联网家居控制系统:HarmonyOS Next分布式能力的完美诠释
java·前端·人工智能·分布式·物联网·前端框架·harmonyos
05大叔2 分钟前
Mybatis-Plus
java·开发语言·mybatis
杜子不疼.5 分钟前
Spring Cloud+AI :实现分布式智能推荐系统
java·人工智能·spring cloud
毕设源码-朱学姐7 分钟前
【开题答辩全过程】以 基于springBoot微服务架构的老年人社交系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
java1234_小锋8 分钟前
Python常见面试题:Python是如何进行内存管理的?
java·jvm·python
Vic101018 分钟前
java的分布式协议
java·开发语言·分布式
田里的水稻9 分钟前
ARM_运行openClaw
arm开发·人工智能·算法·机器人
Mr.朱鹏9 分钟前
分布式-redis主从复制架构
java·spring boot·redis·分布式·缓存·架构·java-ee
im_AMBER10 分钟前
Leetcode 136 最小栈 | 逆波兰表达式求值
数据结构·学习·算法·leetcode·
识君啊12 分钟前
Java字符串算法核心攻略
java·数据结构·算法·leetcode·字符串·