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 - Html Transfer Code
Oct 09 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
PHP session 会话处理函数
Jun 06 PHP
微信红包随机生成算法php版
Jul 21 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
Jun 07 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
Yii实现微信公众号场景二维码的方法实例
Aug 30 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
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
python双向链表实现实例代码
2013/11/21 Python
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
python绘制彩虹图
2019/12/16 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
大学生自我鉴定范文模板
2014/01/21 职场文书
《白鹅》教学反思
2014/04/13 职场文书
学雷锋月活动总结
2014/04/25 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
出国导师推荐信
2015/03/25 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python
SQL SERVER触发器详解
2022/02/24 SQL Server
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS