欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查找数组中重复的元素

程序员文章站 2022-07-12 09:32:06
...

查找数组中重复的元素

字典法:用元素值表示另一个数组的位置(从1开始),如果两次(ˇ?ˇ) 想写入同一个位置,说明有重复
/* 查找数组中重复元素, 返回重复个数,没有重复返回0 */
int arraySameNum(int *array, int len, int *result)
{
	int dic[100] = {0};	/* 前提是数组元素值小于100 */
	int i = 0;
	int ret = 0;

	while (i < len)
	{
		if (dic[array[i]] == 0)
		{
			dic[array[i]] = i+1;	//保存每个元素首次出现的位置,从1开始
		}
		else	//dic[array[i]] > 0 说明第array[i]个位置有元素
		{
			//return i+1;
			result[i] = array[i];	//保存重复元素到result中
			ret++;
		}
		i++;
	}
	
	return ret;
}