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原创论坛
Oct 09 PHP
php解析xml方法实例详解
May 12 PHP
php eval函数一句话木马代码
May 21 PHP
php实现的mongodb操作类
May 28 PHP
php比较相似字符串的方法
Jun 05 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
tp5.1 框架join方法用法实例分析
May 26 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
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
javascript闭包的理解
2015/04/01 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
直接有效的自我评价
2014/01/11 职场文书
日语专业求职信
2014/07/04 职场文书
八项规定对照检查材料
2014/08/31 职场文书
个人先进材料范文
2014/12/30 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书