php实现构建排除当前元素的乘积数组方法


Posted in PHP onOctober 06, 2018

构建乘积数组

给定一个数组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;

}
PHP 相关文章推荐
强烈推荐:php.ini中文版(1)
Oct 09 PHP
在线竞拍系统的PHP实现框架(二)
Oct 09 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
使用PHP获取当前url路径的函数以及服务器变量
Jun 29 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php导出word格式数据的代码实例
Nov 25 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
PHP会话处理的10个函数
Aug 11 PHP
php微信公众号开发之微信企业付款给个人
Oct 04 #PHP
PHP获取当前系统时间的方法小结
Oct 03 #PHP
PHP格式化显示时间date()函数代码
Oct 03 #PHP
php实现微信企业转账功能
Oct 02 #PHP
PHP实现微信退款功能
Oct 02 #PHP
PHP实现微信申请退款功能
Oct 01 #PHP
微信企业转账之入口类分装php代码
Oct 01 #PHP
You might like
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
javascript一点特殊用法
2008/05/28 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
Python格式化css文件的方法
2015/03/10 Python
python排序方法实例分析
2015/04/30 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
2020/11/17 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
人力资源专员自我评价怎么写
2013/09/19 职场文书
通信专业个人自我鉴定
2013/10/21 职场文书
决心书标准格式
2014/03/11 职场文书
师德师风个人反思
2014/04/28 职场文书
公司活动总结怎么写
2014/06/25 职场文书
2014国庆节标语口号
2014/09/19 职场文书
庆祝教师节标语
2014/10/09 职场文书
美术教师求职信范文
2015/03/20 职场文书