238. 除自身以外数组的乘积
目录
题目
思路
看题第一眼想到的是先计算给定数组所有元素的乘积,然后对数组中的每个元素 $x$,将总的乘积除以 $x$ 来求得除自身值的以外数组的乘积。但当数组中出现$0$时,这个方法就失效了,且题目说明了不能使用除法。
不能使用除法,又怎么计算除自身值以外数组的乘积呢?考虑到 该数对应的乘积 =其左边的乘积 * 其右边的乘积。所以,可以通过两次遍历依次计算每个数的左右乘积即可得到答案。
代码
| |
看题第一眼想到的是先计算给定数组所有元素的乘积,然后对数组中的每个元素 $x$,将总的乘积除以 $x$ 来求得除自身值的以外数组的乘积。但当数组中出现$0$时,这个方法就失效了,且题目说明了不能使用除法。
不能使用除法,又怎么计算除自身值以外数组的乘积呢?考虑到 该数对应的乘积 =其左边的乘积 * 其右边的乘积。所以,可以通过两次遍历依次计算每个数的左右乘积即可得到答案。
| |