238 除自身以外陣列的乘積

2021-10-06 19:55:13 字數 653 閱讀 5547

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

示例:

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

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

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

高階:

你可以在常數空間複雜度內完成這個題目嗎?( 出於對空間複雜度分析的目的,輸出陣列不被視為額外空間。)

思路:常規套路,將所有數相乘,乘積再分別除以每乙個數即可得出答案。不能使用除法,那我們思考一開始就不將當前位置的數乘進去。維護乙個left陣列和right陣列,對於下標i表示其左邊所有數和右邊所有數的乘積分別儲存到left[i]right[i],結果即為兩者相乘,顯然可以用字首積再o(n)的時間內完成。我們可以做進一步優化,只維護left陣列,right顯然可以用乙個數迭代表示。

238 除自身以外陣列的乘積

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

238 除自身以外陣列的乘積

給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 高階 你可以在常數空間複雜度內完成這個題目嗎?出於對空間複雜度分析的目的,輸出陣列不...

238 除自身以外陣列的乘積

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