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 str_pad 函数用法简介
Jul 11 PHP
Admin generator, filters and I18n
Oct 06 PHP
PHP 登录记住密码实现思路
May 07 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
根据ip调用新浪api获取城市名并转成拼音
Mar 07 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
php简单日历函数
Oct 28 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
Linux下 php7安装redis的方法
Nov 01 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 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
zf框架db类的分页示例分享
2014/03/14 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
python操作excel文件并输出txt文件的实例
2018/07/10 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python各种扩展名区别点整理
2020/02/27 Python
python递归函数用法详解
2020/10/26 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
互动出版网:专业书籍
2017/03/21 全球购物
视光学专业毕业生推荐信
2013/10/28 职场文书
实习单位接收函
2014/01/11 职场文书
经典商业广告词
2014/03/13 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
2015年导购员工作总结
2015/04/25 职场文书
党支部综合考察意见
2015/06/01 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
MySQL transaction事务安全示例讲解
2022/06/21 MySQL