• 两个数组的交集


    地址:https://leetcode-cn.com/problems/intersection-of-two-arrays/

    <?php
    
    /**
    给定两个数组,编写一个函数来计算它们的交集。
    
    示例 1:
    
    输入: nums1 = [1,2,2,1], nums2 = [2,2]
    输出: [2]
    示例 2:
    
    输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
    输出: [9,4]
    说明:
    
    输出结果中的每个元素一定是唯一的。
    我们可以不考虑输出结果的顺序。
     */
    class Solution {
    
        /**
        暴力法,判断一个数值在另一个数组是否存在
         */
        function intersection1($nums1, $nums2) {
           if(count($nums1) <count($nums2)){
               $arr = $nums1;
               $arr1 = $nums2;
           }else{
               $arr = $nums2;
               $arr1 = $nums1;
           }
           $new_arr = [];
           for ($i = 0;$i <count($arr) ;$i++){
               if (in_array($arr[$i],$arr1)){
                   $new_arr[$arr[$i]]=$arr[$i];
               }
           }
           return array_values($new_arr);
        }
    
        /**
         内置函数
         */
        function intersection2($nums1, $nums2) {
            return array_unique(array_intersect($nums1,$nums2));
        }
    
        /**
         先把2个数组排序,通过双指针往前推来进行查找
         */
        function intersection3($nums1, $nums2) {
            sort($nums1);
            sort($nums2);
            $i = $j = 0;
            $res=[];
            while($i <count($nums1) && $j <count($nums2)){
                if ($nums1[$i] == $nums2[$j]){
                    $res[] = $nums1[$i];
                    $i++;
                    $j++;
                }elseif ($nums1[$i] > $nums2[$j]){
                    $j++;
                }elseif ($nums1[$i] < $nums2[$j]){
                    $i++;
                }
            }
            return array_unique($res);
        }
    }
    $solution = new Solution();
    //$nums1 = [1,2,2,1];
    //$nums2 = [2,2];
    $nums1 = [4,9,5]; $nums2 = [9,4,9,8,4];
    var_dump($solution->intersection($nums1, $nums2));
  • 相关阅读:
    mysql关联查询
    文本框,下拉框,单选框只读状态属性
    sql索引实例
    sql视图实例
    SQL触发器实例
    存储过程实例
    sql 、linq、lambda 查询语句的区别
    LINQ中的一些查询语句格式
    面试宝典
    SQL常用语句
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/12579632.html
Copyright © 2020-2023  润新知