Medium
講真惠险,這種奇技淫巧的題,不做一次是永遠(yuǎn)不可能在面試時(shí)答上來的捺球。老老實(shí)實(shí)刷tag題缸浦,面經(jīng)題,理解透徹好好總結(jié)氮兵,不一定能讓你在面試場上做出來新題裂逐,但卻是唯一能提高這種可能的方法了。
這題要求O(n)Time Complexity, 所以分兩次掃數(shù)組泣栈。一次從左到右卜高,把每個(gè)元素左邊的乘積算出來;第二次從右到左秩霍,把每個(gè)元素右邊的再乘上去篙悯。這樣就完成了乘完所有非自己的元素蚁阳。
class Solution {
public int[] productExceptSelf(int[] nums) {
int[] res = new int[nums.length];
res[0] = 1;
for (int i = 1; i < nums.length; i++){
res[i] = res[i - 1] * nums[i - 1];
}
int right = 1;
for (int j = nums.length - 1; j >= 0; j--){
res[j] *= right;
right *= nums[j];
}
return res;
}
}