查找数组中重复的元素
程序员文章站
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;
}
上一篇: 查找数组中重复的元素
下一篇: 矩阵相关