Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 1.6 KB

238.md

File metadata and controls

49 lines (37 loc) · 1.6 KB

✏️Leetcode基础刷题之(238. Product of Array Except Self)

2020-1-13 吴亲库里 库里的深夜食堂


✏️描述

给定一个整形数组,结果也是返回一个数组。这个数组需要满足什么呢。即输出的数组第 i 个的值必须是原数组中除第 i 个值的所有乘积。


✏️题目实例

✏️题目分析

第一次想的是第一遍遍历的时候算总乘积,然后第二次遍历的时候➗当前这个数不就解决了。结果人家直接在底下说明不能用除法哈哈哈。然后,好吧题目的难度增大了。那就换个角度,你可以思考下,排除第 i 个元素的乘积是咋么算出来的?不就是第 i 个数左边的乘积✖️它右边数的乘积嘛。有些时候就是这么让人奇妙。

   /**
     * @param Integer[] $nums
     * @return Integer[]
     */
    function productExceptSelf($nums) {
        $res=[];
        $k=1;
        for($i=0;$i<count($nums);$i++){
            $res[$i]=$k;
            $k *=$nums[$i];
        }
        $k=1;
        for($i=count($nums)-1;$i>=0;$i--){
            $res[$i] *=$k;
            $k*=$nums[$i];
        }
        return $res;
    }

联系