Leetcode刷題:238. Product of Array Except Self

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

原題不讓用除法,也就是不能先把陣列中所有元素乘起來然後對單個元素進行除法運算得到結果。
這樣解決思路就是,針對某個值,先遍歷之前的數乘起來,再遍歷之後的數乘起來。兩者想乘就是當前值對應的輸出。Python程式碼:

class Solution(object):
def productExceptSelf(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
res = [1] * len(nums)#初始化輸出
#遍歷之前的數
for i in range(1,len(nums)):
res[i] = res[i-1] * nums[i-1]
#遍歷之後的數
reverse = 1
for j in range(0,len(nums))[::-1]:
res[j] = res[j] * reverse
reverse = reverse * nums[j]
#輸出
return res

相關文章

程式語言 最新文章