|
Yahoo中国面试题PHP算法(2010-03-02 22:51:13)转载
标签:it分类:Interview
3.7 写一个function实现数组内每个元素之间加法的递代运算?
注:数组元素全部为自然数.
例:
$data=array(1,2,3);
程序要求打印出数组每个数组元素相互之间各种可能性加法(包括元素自已本身加法)
1+1=2,1+2=3,1+3=5,
2+2=4,2+3=5,
3+3=6
打印出以下结果
PHP代码
Array
(
[0] => Array
(
[0] => 2
[1] => 3
[2] => 4
)
[1] => Array
(
[1] => 4
[2] => 5
)
[2] => Array
(
[2] => 6
)
)
我的code
$data = array(1,2,3);
$res = array();
echo "calc:\n";
calc($data, $result);
var_dump($result);
function calc($data, &$res)
{
if(count($data)<1)
return;
$item = $data[0];
foreach($data as $v)
{
$res[$item-1][] = $item+$v;
}
calc(array_splice($data, 1), &$res);
} |
|
|