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数组应用之比较两个时间的相减排序
Aug 18 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 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获取当前url地址的方法小结
2017/01/10 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
CentOS安装pillow报错的解决方法
2016/01/27 Python
使用TensorFlow实现SVM
2018/09/06 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
python实现简单的tcp 文件下载
2020/09/16 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
采购部主管岗位职责
2014/01/01 职场文书
庆中秋节主题活动方案
2014/02/03 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
严以用权学习心得体会
2016/01/12 职场文书
初中美术教学反思
2016/02/17 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
Redis命令处理过程源码解析
2022/02/12 Redis