给定两个数组,编写一个函数来计算它们的交集。
示例 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;
}
}
执行结果:
原创文章,作者:星辰,如若转载,请注明出处:http://www.z88j.com/279.html