博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[PHP] 算法-构建排除当前元素的乘积数组的PHP实现
阅读量:7109 次
发布时间:2019-06-28

本文共 829 字,大约阅读时间需要 2 分钟。

构建乘积数组

给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。

1. 这题的意思是 B数组的元素是A数组中所有元素的乘积,但是要排除掉当前元素

2. A数组在i元素左右分成两部分,分别相乘
3. left数组是 A[0]...A[n-1], right数组是A[1]...A[n]
4. 组合出新的数组

 

$A=array(1,2,3,4);multiply($A);function multiply($numbers){        $len=count($numbers);        $res=array();        //1. 组合左边数组        $left=array();        $left[0]=1;        for($i=1;$i<$len;$i++){                $left[$i]=$left[$i-1]*$numbers[$i-1];        }           //2. 组合右边数组        $right=array();        $right[$len-1]=1;        for($j=$len-2;$j>=0;$j--){                $right[$j]=$right[$j+1]*$numbers[$j+1];        }           //3. 组合新数组,整好可以实现A[0]*A[i-1]*A[i+1]*A[n-1]排除当前i元素        for($i=0;$i<$len;$i++){                $res[$i]=$left[$i]*$right[$i];        }           return $res;}

 

转载地址:http://eglhl.baihongyu.com/

你可能感兴趣的文章
linux terminal中使用proxy
查看>>
复杂SQL代码实例
查看>>
完成注册
查看>>
java web 跨域
查看>>
python中的一等对象--函数
查看>>
清点人数
查看>>
通过格式输出控制使输出的结果对齐
查看>>
2012年蓝桥杯【初赛试题】 密码发生器
查看>>
别再嘴炮概念了!大数据是硬汉之战,你的肌肉呢?
查看>>
浅谈华为如何实现区块链的安全隐私保护
查看>>
国货当自强!四款好用又免费的国产项目管理工具
查看>>
AT3912 Antennas on Tree
查看>>
symbian s60权限详解
查看>>
一 APPIUM基本理论知识(转)
查看>>
String、StringBuffer和StringBulder
查看>>
mysql 数据类型,字符集
查看>>
电力系统【第1章:电力系统概述】
查看>>
web环境搭建
查看>>
Codeigniter出现Unable to connect to your database server using the provided settings错误解决办法...
查看>>
html相对定位绝对定位
查看>>