google的一道面试题目大家来试下
一道算法题,和搜索建议有关的,我搞了很久没搞出来,有能力的试下,我大致说下题目
数组A={a,b,c,d,e,f}
数组B={u,y,w,x,y,z}
输出字符串规律如下:
a
u
ab
uy
ay
ub
abc
uyw
abw
ayw
ubc
uyc
ayw
ubw
.
.
.
先找规律,再求算法, 算法语言不限
------解决方案--------------------
- PHP code
$a = array('a', 'b', 'c', 'd', 'e', 'f');
$b = array('u', 'y', 'w', 'x', 'y', 'z');
$r = array();
for($i=0; $i<count($a); $i++) {
foo($r, $a, $b, $i);
}
print_r($r);
function foo(&$r, $a, $b, $i) {
if($i == 0) {
$r[] = $a[$i];
$r[] = $b[$i];
return;
}
foreach($r as $v) {
if(strlen($v) == $i) {
$r[] = $v . $a[$i];
$r[] = $v . $b[$i];
}
}
} <div class="clear">
</div>









