为了学习。我发现了一个简单的问题,但我知道它有几个解决方案,因为我想更多地练习并使用函数或以正常方式找到问题的解决方案。
所以问题是这样的
Given an array of integers, how do you determine if there are duplicates?
a = [1, 2, 3, 4, 5]
b = [1, 2, 3, 4, 5, 3]
这是我的解决方案:
对于javascript:
function has_dup(arr){
for(i=0; i< arr.length; i++){
checker = arr[i];
duplicates = 0;
for(x=0; x < arr.length; x++ ){
//if duplicate
if(checker == arr[x]){
duplicates++;
}
}
}
//if has duplicate
if(duplicates > 1){
return true;
}else{
return false;
}
}
//first run
arr = [1,2,3,4,5];
alert(has_dup(arr));
//second run
arr2 = [1, 2, 3, 4, 5, 3];
alert(has_dup(arr2));
在PHP中:
$arr = array(1,2,3,4,5);
$arr2 = array(1,2,3,4,5,3);
function check_duplicate($arr){
$duplicates = 0;
foreach($arr as $index => $value){
foreach($arr as $i => $ref)
{
if($value == $ref){
$duplicates++;
}
}
}
return ($duplicates < 1 ? true : false);
}
check_duplicate($arr);
check_duplicate($arr2);
鉴于这种情况,您能否给我两种语言的最佳答案,您还可以评论我在这里可能犯的错误。如果有很多解决方案,我可能会悬赏
谢谢!