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 相关文章推荐
Mysql和网页显示乱码解决方法集锦
Mar 27 PHP
php部分常见问题总结
Mar 27 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
解析smarty 截取字符串函数 truncate的用法介绍
Jun 20 PHP
php 获取本地IP代码
Jun 23 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
php简单实现查询数据库返回json数据
Apr 16 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
php二维码生成以及下载实现
Sep 28 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 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
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python 8种必备的gui库
2020/08/27 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
寄语十八大感言
2014/02/07 职场文书
会计人员岗位职责
2014/03/19 职场文书
电钳工人个人求职信
2014/05/10 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
python中print格式化输出的问题
2021/04/16 Python
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle