思想就是两遍 第一遍把这个数左边的乘积乘好 第二遍从右边开始,把这个数右边的乘上来
public 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] = nums[ i -1 ] * res[ i -1 ];
}
int right = 1;
for ( int i = nums.length -1; i >= 0; i --) {
res[ i ] *= right;
right *= nums[ i ];
}
return res;
}
}

本文介绍一种高效算法,用于求解数组中除当前元素外其余所有元素的乘积,而不使用除法操作。该算法通过两次遍历实现:首先从前向后计算左侧累积乘积,然后从后向前计算右侧累积乘积。

159

被折叠的 条评论
为什么被折叠?



