leetcode 238 除自身以外陣列的乘積

2021-10-01 23:54:02 字數 740 閱讀 8727

給定長度為 n 的整數陣列 nums,其中 n > 1,返回輸出陣列 output ,其中 output[i] 等於 nums 中除 nums[i] 之外其餘各元素的乘積。

示例:輸入: [1,2,3,4]

輸出: [24,12,8,6]

說明: 請不要使用除法,且在 o(n) 時間複雜度內完成此題。

思路一:用了除法,其實不滿足題意,注意要考慮0的情況,否則會出現0/0的情況,特判一下0的情況即可。

class

solution

if(zero>=2)

return ans;

for(

int i=

0;i(zero==1)

} ans[dir]

= sum;

return ans;

}for

(int i=

0;i) ans[i]

= sum/nums[i]

;return ans;

}}

思路二:儲存從左到右的乘積和,在儲存從右到左的乘積和,這個思路挺不錯。

class

solution

sum =1;

for(

int i=nums.length-

1;i>=

0;i--

)return ans;

}}

leetcode 238 除自身以外陣列的乘積

給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 說明 請不要使用除法,且在 o n 時間複雜度內完成此題。高階 你可以在常數空間複雜...

leetcode238 除自身以外陣列的乘積

從左到右遍歷一趟,記錄每個位置左邊的乘積 首位為1 從右到左走一趟,將上一步的結果累乘每一位右邊的乘積 class solution object def productexceptself self,nums if not nums return output 1 len nums k 1 for...

LeetCode 238 除自身以外陣列的乘積

題目描述 給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 說明 請不要使用除法,且在 o n 時間複雜度內完成此題。高階 你可以在常...