238 除自身以外陣列的乘積

2021-10-01 03:45:26 字數 769 閱讀 1683

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

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

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

第一種解法。需要額外的空間複雜度。

b[i] = a[0] * a[1] * a[2] * …… * a[i-1] * a[i+1] * a[i+2] * …… * a[n-1]

將上述式子分成前後兩部分:b[i] = left[i] * right[i]

left[i] = a[0] * a[1] * a[2] * …… * a[i-1] = left[i-1] * a[i-1]

right[i] = a[i+1] * a[i+2] * …… * a[n-1] = right[i+1] * a[i+1]

class solution 

};

參考:leetcode中文社群

思路tql。

class solution 

return res;

}};

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 ...