leetcode 238. Product of Array Except Self

来源:互联网 发布:db2 查看sql执行进度 编辑:程序博客网 时间:2024/04/29 15:25

题目

Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

Solve it without division and in O(n).

For example, given [1,2,3,4], return [24,12,8,6].

Follow up:
Could you solve it with constant space complexity? (Note: The output array does not count as extra space for the purpose of space complexity analysis.)

public class Solution {     public int[] productExceptSelf(int[] nums) {         int len=nums.length;         int[] ret=new int[len];         int[] rightArr=new int[len];         int[] leftArr=new int[len];         leftArr[0]=1;         int left=1;         for(int i=1;i<len;i++){             leftArr[i]=nums[i-1]*left;             left=leftArr[i];         }//       String b1=Arrays.toString(leftArr);//       System.out.println(b1);         rightArr[len-1]=1;         int right=1;         for(int j=len-2;j>=0;j--){             rightArr[j]=nums[j+1]*right;             right=rightArr[j];         }//       String b2=Arrays.toString(rightArr);//       System.out.println(b2);//            for(int i=0;i<len;i++){             ret[i]=leftArr[i]*rightArr[i];         }         return ret;                 }}
0 0
原创粉丝点击