单身狗

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

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;
}
相关推荐
suhan12 小时前
【数据结构】三、栈和队列:2.顺序栈&共享栈(顺序栈的初始化,判空,进栈,出栈,读取栈顶,顺序栈实例)
数据结构·后端·算法
微笑的曙光12 小时前
第八期 · 情绪闯关挑战盒:一个「无惩罚」成就系统的数据建模
java·微信小程序
iCxhust12 小时前
Matlab求解发电机的极限切除角
开发语言·算法·matlab·电力系统
AI语宙漫游指南12 小时前
RAG 向量检索(上):从 FLAT 到 IVF,查得快为何可能漏?
后端·算法
SelectDB13 小时前
部署形态与存算分离速查:形态对照、配置项清单与关键命令片段
大数据·数据结构·数据库
java资料站13 小时前
七、Spring AI Alibaba · Skills
java·后端·spring
code2cat13 小时前
Java进阶篇之AtomicReferenceFieldUpdater:用不可变快照替换整份状态
java·开发语言·cas
geats人山人海13 小时前
现代c++2.4 虚继承
java·开发语言·c++
垆边人似月.13 小时前
华为题:敏感词替换
算法
0+11113 小时前
算法 --哈希表
数据结构·算法·散列表