Yahoo中国面试题PHP算法

本文介绍了一种使用PHP编程语言实现数组中各元素间所有可能加法组合的方法。通过递归遍历的方式,该算法能够计算并展示出数组内任意两个元素相加的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.7 写一个function实现数组内每个元素之间加法的递代运算?
注:数组元素全部为自然数.
例:
$data=array(1,2,3);
程序要求打印出数组每个数组元素相互之间各种可能性加法(包括元素自已本身加法)

1+1=2,1+2=3,1+3=4,
2+2=4,2+3=5,
3+3=6

打印出以下结果

PHP代码
  1. Array   
  2. (   
  3.     [0] => Array   
  4.         (   
  5.             [0] => 2   
  6.             [1] => 3   
  7.             [2] => 4   
  8.         )   
  9.     [1] => Array   
  10.         (   
  11.             [1] => 4   
  12.             [2] => 5   
  13.         )   
  14.     [2] => Array   
  15.         (   
  16.             [2] => 6   
  17.         )   
  18. )   
  19.   

 

 

以上是YAHOO中国的面试算法 十分钟搞定:
<?php
$arr = array(1,2,3);
ArrSum($arr);
function ArrSum($arr){
    if(!is_array($arr)){echo '不是数组';return false;}elseif(empty($arr)){echo '数组不能为空';return false;}
    $arrjia = array();
    foreach($arr as $key => $value){
        $arrjia[$key] = subArrSum($arr,$key,$value);
    }
    print_r($arrjia);
}
function subArrSum($arr,$key,$value){
    $arrjia = array();
    for($i = $key;$i < count($arr);$i++){
        $arrjia[$i] = $value+$arr[$i];
    }
    return $arrjia;
}
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值