2019-04-25 吴亲库里 库里的深夜食堂
两个数组相交。这是349题的扩展版,它允许我们返回相同的数字,但是一定得是两边同时都有。

我的解是先排序,然后定义两个指针对应着数组1和数组2的位置,只要相等直接插入新数组,如果一方大于另一方,另一方自增,反之也是一样的。
/**
* @param Integer[] $nums1
* @param Integer[] $nums2
* @return Integer[]
*/
function intersect($nums1, $nums2) {
$i=0; $j=0;
sort($nums1);
sort($nums2);
$res=[];
while($i<count($nums1) && $j<count($nums2)){
if($nums1[$i]==$nums2[$j]){
array_push($res,$nums1[$i]);
++$i;
++$j;
}else if($nums1[$i]>$nums2[$j]){
++$j;
}else{
++$i;
}
}
return $res;
}
