单身狗

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

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;
}
相关推荐
ltl2 分钟前
SM3 vs SHA-256:两个哈希函数的设计哲学与性能实测
后端·算法
yaaakaaang3 分钟前
三、抽象工厂模式
java·抽象工厂模式
kongba0073 分钟前
复刻 Claude Code 项目御马术缰绳系统 harness engineering 落地蓝图
java·linux·服务器
tERS ERTS5 分钟前
Spring Cloud gateway 路由规则
java
ZUNr15 分钟前
手写一个迷你版 @Column:注解到底是怎么工作的?
java
知星小度S6 分钟前
算法训练之递归(一)
数据结构·算法
Treh UNFO10 分钟前
MySQL中的通配符
java
AI茶水间管理员11 分钟前
线程池核心线程数设为 0 会怎样?(附源码解析)
java·后端·面试
未来之窗软件服务12 分钟前
SenseVoicecpp ggml-webgpu大模型[AI人工智能(七十五)]—东方仙盟
c++·人工智能·算法·仙盟创梦ide·东方仙盟
白开水都有人用12 分钟前
点击数据行选中复选框-抽离公共方法
java·前端·html