题目来源:
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