Leetcode 除自身以外陣列的乘積

2022-06-29 21:51:12 字數 576 閱讀 1714

分析:這道題不能使用除法,顯而易見的方法就是左邊的乘積乘以右邊的乘積,這樣很好理解。

class

solution

for(int i = n; i > 0; --i)

for(int i = 1; i <= n; ++i)

return

ans;

}};

高階:題目還提到在時間複雜度o(n)的情況下,是否可以在空間複雜度為常數的級別內完成。

分析:由於輸出肯定是需要乙個o(n)的陣列的,題目說這個不納入空間複雜度,上面用了三個陣列,砍掉兩個就好了。我們可以直接用left就當ans返回,在left裡面更新,這樣就可以砍掉ans。然後我們直接從後面開始更新,用乙個int變數直接記錄後面數字的乘積,這樣就把right也給砍掉了。不過肯定沒上面這個好看,好理解,好想。

class

solution

int right = 1

;

for(int i = n - 1; i >= 0; --i)

return

left;

}};

LeetCode 除自身以外陣列的乘積

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

leetcode 除自身以外陣列的乘積

題目 給你乙個長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。說明 示例 輸入 1,2,3,4 輸出 24,12,8,6 方案一 除法 用到除法,就要檢驗除數是否為0 class solut...

除自身以外陣列的乘積

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