剑指offer 面试题3中题目一的解答方法,使用hash列表进行排序。
解题的前提是已知具有重复的数字并且字符串长度和最大字数相同。
P.S.
没有判断字符串长度c语言中在函数中进行参数传递时,如果涉及数组则传递的数字为数组第一位数的指针
解题代码为
int findRepeatNumber(int* nums
, int numsSize
)
{
int repeat
;
int i
;
int numtemp
;
for (i
=0 ;i
<numsSize
;++i
)
{
while (nums
[i
] != i
)
{
numtemp
= nums
[i
];
if (numtemp
== nums
[numtemp
])
return numtemp
;
else
{
nums
[i
] = nums
[numtemp
];
nums
[numtemp
] = numtemp
;
}
}
}
return false
;
}