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 相关文章推荐
PHP4实际应用经验篇(1)
Oct 09 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
一道关于php变量引用的面试题
Aug 08 PHP
php遍历数组的方法分享
Mar 22 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
解析PHP无限级分类方法及代码
Jun 21 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
php数组键值用法实例分析
Feb 27 PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
php依赖注入知识点详解
Sep 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 header Content-Type类型小结
2011/07/03 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
javascript arguments使用示例
2014/12/16 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
vue中本地静态图片路径写法
2018/03/06 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Django添加sitemap的方法示例
2018/08/06 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
本科毕业生专业自荐书范文
2014/02/05 职场文书
外国人聘用意向书
2014/04/01 职场文书
中文专业自荐书
2014/06/29 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫