XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

一道百度算法面试题:链表合并

2025.04.09

在程序猿面试的过程中,都会现场考一些算法题,简单可能就是一个排序算法,一个查找算法,复杂可能就是一个应用,优秀的面试官对于简单就考察细节,复杂就只关注核心思想。

最近一个朋友参加百度的面试,要求实现下面的一个简单算法:

PHP实现:

<?php
//方法一:系统函数, 过滤简单,没有实现考官的考点
/*
$arr1 = [1,2,4,];
$arr2 = [1,3,4,];
foreach($arr2 as $item) {
$arr1[] = $item;
}
asort($arr1);
print_r($arr1);
*/
//方法二: 模拟链表实现
$arr1 = [1,2,4,];
$arr2 = [1,3,4,];
$list = [];
$index = 0;
$len1 = count($arr1);
$len2 = count($arr2);
for($i=0, $j = 0; $i < $len1 && $j < $len2; ) {
if ($arr1[$i] < $arr2[$j])  {
$list[$index] = $arr1[$i];
$index++;
$i++;
} else {
$list[$index] = $arr2[$j];
$index++;
$j++;
}
}
$left = $i < $len1 ? $arr1 : $arr2;
$k = $i < $len1 ? $i : $j;
for(;$k < count($left); $k++) {
$list[$index] = $left[$k];
$index++;
}
print_r($list);
© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB