两个数组的交集 解法

给定两个数组,编写一个函数来计算它们的交集。

 

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]

输出:[2]

示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]

输出:[9,4]

 

说明:

输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。

解法和思路
1.选择排序的思路解法。 进行选择对比存入 数组容器里面。

class Solution {

    /**
     * 选择排序思路解这道题。
     * @param Integer[] $nums1
     * @param Integer[] $nums2
     * @return Integer[]
     */
    function intersection($nums1, $nums2) {
        $count1 = count($nums1);//计算数组长度
        $count2 = count($nums2);//计算数组长度
        $result = [];//交集的元素
        for ($i=0;$i<$count2;$i++){//循环选择一个一个进行对比,条件允许存入数组容器里面
            for ($j=0;$j<$count1;$j++){
                if($nums2[$i] == $nums1[$j]){//进行判断是否匹配的交集
                    if(count($result) ==0){
                        $result[] = $nums2[$i];
                    }else{
                        $exists = 0;
                        for ($o=0;$o<count($result);$o++){//搜索已存在的重复的交集
                            if($result[$o] == $nums2[$i]){
                                $exists = 1;
                            }
                        }
                        if($exists != 1){
                            $result[] = $nums2[$i];
                        }
                    }
                }
            }
        }
        return $result;
    }
}

执行结果:
两个数组的交集 解法

原创文章,作者:星辰,如若转载,请注明出处:https://www.z88j.com/279.html

(26)
打赏 微信扫一扫 微信扫一扫
上一篇 2021年6月2日 下午7:17
下一篇 2021年6月8日 下午10:47

相关推荐

  • 877. 石子游戏php解法

    亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。 亚历克斯和李轮流…

    算法 2021年6月16日
    1.0K00
  • 选择排序【工作见解】

    工作中遇到排序需求,不能数据库排,我就代码排序了。 $startTime = microtime(true); $len = count($list); for ($i=0;$i&…

    快速排序 2020年12月10日
    2.9K10
  • 203. 移除链表元素php解法

    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。(力扣的题 编号203哈) 示例 1: …

    php 2021年6月17日
    1.6K00
  • 顺序查找算法【工作见解】

    星辰工作中遇到要查找数组数据取出 工作场景:有两个数组一个是 [[“时间”,”今天时间数据”],[“时间”,”今天时间数据”],…] 另一个是 [[“时间”,”昨天时间数据”]…

    php 2020年12月11日
    2.0K00
  • 经典的选择排序 C++版O(n^2)

    这么简单的算法之前写过思路,这次是复习一遍。如果看思路:https://www.z88j.com/106.html (这个是php版本的 不过算法和语言没多大关系)值得注意的是 c…

    算法 2021年6月8日
    1.3K00
  • php链表中倒数第k个节点 解法

    刷力扣算法日常 题目: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,…

    php 2020年12月2日
    1.8K00

发表回复

登录后才能评论

Warning: error_log(/www/wwwroot/www.z88j.com/wp-content/plugins/spider-analyser/#log/log-2516.txt): failed to open stream: No such file or directory in /www/wwwroot/www.z88j.com/wp-content/plugins/spider-analyser/spider.class.php on line 2900