其他分享
首页 > 其他分享> > 2022-4-8 高频面试题

2022-4-8 高频面试题

作者:互联网

238. 除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。

请不要使用除法,且在 O(n) 时间复杂度内完成此题。

 1 class Solution {
 2     public int[] productExceptSelf(int[] nums) {
 3         int n=nums.length,sum=1;
 4         int[] l=new int[n];
 5         int[] r=new int[n];
 6         for (int i=0;i<n;i++) {
 7             l[i]=sum;
 8             sum*=nums[i];
 9         }
10         sum=1;
11         for (int i=n-1;i>=0;i--) {
12             r[i]=sum;
13             sum*=nums[i];
14         }
15         int[] ans=new int[n];
16         for (int i=0;i<n;i++) {
17             ans[i]=l[i]*r[i];
18         }
19         return ans;
20     }
21 }

思路:构造l 和 r数组表示当前元素左边乘积和右边乘积,则结果为左右乘积和。

标签:面试题,乘积,nums,int,sum,数组,2022,new,高频
来源: https://www.cnblogs.com/benbicao/p/16116315.html