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 相关文章推荐
提问的智慧(2)
Oct 09 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
Yii框架模拟组件调用注入示例
Nov 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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
JavaScript 字符编码规则
2009/05/04 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
JavaScript switch语句使用方法简介
2019/12/30 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
Python批量修改文本文件内容的方法
2016/04/29 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
大学生党课思想汇报
2013/12/29 职场文书
给学校的建议书范文
2014/05/15 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
责任书格式
2019/04/18 职场文书
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python