350.md

April 27, 2019 · View on GitHub

:pencil2:Leetcode之PHP版题目解析(350. Intersection of Two Arrays II)

2019-04-25 吴亲库里 库里的深夜食堂


:pencil2:描述

两个数组相交。这是349题的扩展版,它允许我们返回相同的数字,但是一定得是两边同时都有。


:pencil2:题目实例

:pencil2:题目分析

我的解是先排序,然后定义两个指针对应着数组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;
         }

联系