美文网首页
leetcode_238

leetcode_238

作者: 看到这朵小fa了么 | 来源:发表于2020-06-09 16:36 被阅读0次

    输出除自身外数组的乘积,不用除法完成,解题思路,首先从左往右循环,用一个数组来记录从左到右的左侧乘积,这里可以借助结果数组减少空间,再从右往左循环一次,每个结果等于他的左侧乘积乘以右侧乘积,注意处理边缘变量

    var productExceptSelf = function(nums) {
      let length = nums.length
      let result = Array(length).fill(1)
      result[0] = nums[0]
      let right = 1
      for(let i =1; i<length; i++){
        result[i] = result[i-1] * nums[i]
      }
      for(let j =length-1; j>0; j--) {
        result[j] = result[j-1]*right
        right*=nums[j]
      }
      result[0] = right
      return result
    };
    

    相关文章

      网友评论

          本文标题:leetcode_238

          本文链接:https://www.haomeiwen.com/subject/ohkgzhtx.html