238. Product of Array Except Self

Posted captain-dl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了238. Product of Array Except Self相关的知识,希望对你有一定的参考价值。

题目来源:
 https://leetcode.com/problems/product-of-array-except-self/
自我感觉难度/真实难度:

 这道题曾经在哪里做过,但是还是写不出代码,没想起来思路

题意:

 有一个数组,每次等于除去自己的剩余数字之积

可以利用排列组合,1              a1      a1a2      a1a2a3

                             a4a3a2      a4a3      a4         1

分析:
 
自己的代码:
class Solution:
    def productExceptSelf(self, nums: List[int]) -> List[int]:
        length=len(nums)
        templ=1
        tempr=1
        left=[]
        right=[]
        res=[]
        for i in nums:
            left.append(templ)
            templ*=i
            
        for j in range(-1,-length):
            tempr*=nums[j]
            res.append(tempr*left[j])
        return res.resvese()

 

代码效率/结果:
 
优秀代码:
class Solution:
    def productExceptSelf(self, nums: List[int]) -> List[int]:
        length=len(nums)
        res=[]
        temp=1
        for i in nums:
            res.append(temp)
            temp*=i
        temp=1
        for j in range(length-1,-1,-1):
            res[j]=res[j]*temp
            temp=temp*nums[j]
        return res

 

 

代码效率/结果:
 
自己优化后的代码:
 
反思改进策略:

 

写题时间时长:

56min

以上是关于238. Product of Array Except Self的主要内容,如果未能解决你的问题,请参考以下文章

238. Product of Array Except Self

LeetCode OJ 238. Product of Array Except Self 解题报告

238. Product of Array Except Self

238. Product of Array Except Self

238. Product of Array Except Self

238. Product of Array Except Self