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 Class 文章
Apr 04 PHP
php抓取页面与代码解析 推荐
Jul 23 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
PHP函数in_array()使用详解
Aug 20 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
php实现多维数组排序的方法示例
Mar 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数组中删除元素之重新索引的方法
2014/09/16 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
php正则修正符用法实例详解
2016/12/29 PHP
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
轮播图组件js代码
2016/08/08 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
安装Python的教程-Windows
2017/07/22 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Python基础知识点 初识Python.md
2019/05/14 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
python实现滑雪者小游戏
2020/02/22 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
大学英语专业求职信
2014/06/21 职场文书
班级文化建设标语
2014/06/23 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
浅谈python中的多态
2021/06/15 Python
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫