一个无序数组1-99个不相等的元素,求那个缺少的那个元素;
这个当时面试没有答出来,被问的脑子一片混沌,而且自身算法比较差,回来想了想,总结如下:
$arr=[0,1,3,4,5,6,7,8,9]; //这里99个就算了太多 用9个数字表示;
$sum=0;
$sum1=0;
for ($i=0;$i<count($arr);$i++){
$sum +=$i+1;
$sum2 +=$arr[$i]; //这里也可以用函数array_sum($arr);得出结果
}
echo $sum-$sum2;
思维是这样的:100个元素之和-数组内99个元素之和 就找到数组内那个元素缺少了,