寻找重复数
int findDuplicate(int* nums, int numsSize){ int max=0, i; int *map; for (i=0; i<numsSize; ++i) { max = max>nums[i]?max:nums[i]; } map = malloc(sizeof(int) * (max+1)); memset(map, 0, sizeof(int) * (max+1)); for (i=0; i<numsSize; ++i) { map[nums[i]]++; if (map[nums[i]] > 1) { free(map); return nums[i]; } } free(map); return 0; }