`
imjl
  • 浏览: 154421 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个php算法题目我的解答

阅读更多
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);
} 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics