单身狗

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

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;
}
相关推荐
朝新_1 分钟前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis
谈笑也风生3 分钟前
经典算法题之子集(四)
算法
mit6.82419 分钟前
划分dp+滑窗+前缀和|deque优化
算法
百***920224 分钟前
java进阶1——JVM
java·开发语言·jvm
迦蓝叶41 分钟前
RDF 与 RDFS:知识图谱推理的基石
java·人工智能·数据挖掘·知识图谱·语义网·rdf·rdfs
百锦再43 分钟前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
yaoxin52112344 分钟前
238. Java 集合 - 使用 ListIterator 遍历 List 元素
java·python·list
爱分享的Shawn_Salt1 小时前
IntelliJ IDEA初始化指南
java·ide·intellij-idea
Dxxyyyy1 小时前
零基础学JAVA--Day32(ArrayList底层+Vector+LinkedList)
java·开发语言
Pluchon1 小时前
硅基计划6.0 柒 JavaEE 浅谈JVM&GC垃圾回收
java·jvm·数据结构·java-ee·gc