#include <stdio.h>
int duplicate(int* numbers, int length)
{
if (numbers == NULL || length <= 0)
return -1;
for (int i = 0; i < length; ++i)
{
if (numbers[i] < 0 || numbers[i] > length - 1)
return -1;
}
for (int i = 0; i < length; ++i)
{
while (numbers[i] != i)
{
if (numbers[i] == numbers[numbers[i]])
{
return numbers[i];
}
int temp = numbers[i];
numbers[i] = numbers[temp];
numbers[temp] = temp;
}
}
return -1;
}
int main()
{
int numbers[] = { 2,3,1,0,2,5,3 };
int numbers1[5];
int a = duplicate(numbers, 7);
printf("%d", a);
return 0;
}
算法设计-C一维数组查找重复值(数组)
最新推荐文章于 2022-07-27 21:38:42 发布