单身狗

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

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;
}
相关推荐
让学习成为一种生活方式9 小时前
ASTRAL v5.7.1--生信工具110
java
2501_937860949 小时前
从JDBC到数据访问:Java数据库编程完全指南
java·开发语言·数据库
Interview Aid1129 小时前
Akuna OA 题目拆解|三题思路复盘
linux·运维·算法·面试·职场和发展
JacksonMx9 小时前
Java 服务调用下游接口注意点
java·开发语言
许彰午9 小时前
08-条件拼接规则
java·低代码·架构
码匠许师傅9 小时前
【C++ 面试真题】32. 聊聊 C++ 的原子变量与无锁编程
java·c++·面试
TAN-90°-9 小时前
Deep Learning for Computer Vision——Recurrent Neural Networks
数据结构·人工智能·rnn·深度学习·神经网络·机器学习·计算机视觉
不会就选b9 小时前
Linux之线程池(一)
java·开发语言
wabs66610 小时前
关于栈【力扣150.逆波兰表达式求值的思考】
数据结构·c++·算法·leetcode··代码随想录
ZGi.ai10 小时前
ZGI 父子分块:连接检索片段与完整上下文
人工智能·算法·知识库·企业ai·zgi·父子分块