做電影種子下載網(wǎng)站違法嗎廣州新聞熱點(diǎn)事件
238. 除自身以外數(shù)組的乘積 - 力扣(LeetCode)
解法:前綴積和后綴積
思路:answer中的每一個(gè)元素都是除自己以外所有元素的和。那就處理一個(gè)前綴積數(shù)組和后綴積數(shù)組。
而前綴積(f[i])是:[0,i-1]所有元素的乘積? ???后綴積(g[i])的范圍是:[i+1,n-1]所有元素的乘積? 這樣處理answer[i] = f[i] * g[i]? ?就可以完美得出最終結(jié)果。
細(xì)節(jié):
1.因?yàn)槭乔熬Y和后綴 積
所以f[0] = 1? g[n-1] = 1? ? ?
class Solution
{
public:vector<int> productExceptSelf(vector<int>& nums) {int n = nums.size();vector<int> f(n);f[0] = 1;for(int i = 1;i<n;i++){f[i] = f[i-1] * nums[i-1];}vector<int> g(n);g[n-1] = 1;for(int i = n-2;i>=0;i--){g[i] = g[i+1] * nums[i+1];}vector<int> answer(n);for(int i = 0;i<n;i++){answer[i] = f[i] * g[i];}return answer;}
};