function getIntersection($aArr,$bArr)
{
asort($aArr);
asort($bArr);
$result = [];
$aIndex = 0;
$bIndex = 0;
$aCount = count($aArr);
$bCount = count($bArr);
while ($aIndex < $aCount && $bIndex < $bCount) {
if ($aArr[$aIndex] < $bArr[$bIndex]) {
$aIndex++;
} elseif ($bArr[$bIndex] < $aArr[$aIndex]) {
$bIndex++;
} else {
$result[] = $aArr[$aIndex];
$aIndex++;
$bIndex++;
}
}
return $result;
}
function getUnionArray($a, $b)
{
$unionArray = [];
$aIndex = 0;
$bIndex = 0;
$aCount = count($a);
$bCount = count($b);
while ($aIndex < $aCount && $bIndex < $bCount) {
if ($a[$aIndex] < $b[$bIndex]) {
$unionArray[] = $a[$aIndex];
$aIndex++;
} elseif ($a[$aIndex] > $b[$bIndex]) {
$unionArray[] = $b[$bIndex];
$bIndex++;
} else {
$unionArray[] = $a[$aIndex];
$aIndex++;
$bIndex++;
}
}
if ($aIndex < $aCount) {
for ($i = $aIndex; $i < $aCount; $i++) {
$unionArray[] = $a[$i];
}
}
if ($bIndex < $bCount) {
for ($i = $bIndex; $i < $bCount; $i++) {
$unionArray[] = $b[$i];
}
}
return $unionArray;
}
function getDifferenceArray($a, $b)
{
$result = [];
$aIndex = 0;
$bIndex = 0;
$aCount = count($a);
$bCount = count($b);
while ($aIndex < $aCount && $bIndex < $bCount) {
if ($a[$aIndex] < $b[$bIndex]) {
$result[] = $a[$aIndex];
$aIndex++;
} elseif ($a[$aIndex] > $b[$bIndex]) {
$result[] = $b[$bIndex];
$bIndex++;
} else {
$aIndex++;
$bIndex++;
}
}
if ($aIndex < $aCount) {
for ($i = $aIndex; $i < $aCount; $i++) {
$result[] = $a[$i];
}
}
if ($bIndex < $bCount) {
for ($i = $bIndex; $i < $bCount; $i++) {
$result[] = $b[$i];
}
}
return $result;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。