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

2022-07-15 19:48:08 字數 704 閱讀 2385

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

難度中等

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

示例:

輸入:[1,2,3,4]輸出:[24,12,8,6]
說明: 請不要使用除法,且在 o(n) 時間複雜度內完成此題。

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

思路:看過題目後首先想到的是將所有數都乘起來,然後分別除以每一位,得到的陣列,返回,但是題目不允許使用除法,所以這種方法就不可行了,我們可以使用雙指標,乙個從左,乙個從右,這樣便可以獲得我們需要的結果啦。

1/**

2* note: the returned array must be malloced, assume caller calls free().3*/

4int* productexceptself(int* nums, int numssize, int*returnsize)

12for(i=0;i)

18return

output;

19 }

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 時間複雜度內完成此題。高階 你可以在常...