您的位置:首页 > 职场人生

两个有序数组,去重并按顺序显示

2017-03-28 11:42 148 查看
直接上代码。这里最后一次比较会有数组越界,幸运的是php并不会报错。

<?php
$arr1 = [1,3,4,6,9,11,12,18,20];
$arr2 = [2,3,4,5,8,12,13,14,19,20];

$length = count($arr1) + count($arr2);
$arr = [];
$i=0;$j=0;
while( --$length > 0)
{
if($arr1[$i] < $arr2[$j])
{
$arr[$arr1[$i++]]++;
}
else
{
$arr[$arr2[$j++]]++;
}
}
print_r(array_keys($arr));


结果:

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 8
[7] => 9
[8] => 11
[9] => 12
[10] => 13
[11] => 14
[12] => 18
[13] => 19
[14] => 20
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 面试题