Product of Array Exclude Itself

来源:互联网 发布:java自学能学会吗 编辑:程序博客网 时间:2024/05/17 09:45

Given an integers array A.

Define B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], calculate B WITHOUT divide operation.

Example

For A=[1, 2, 3], return [6, 3, 2].

//列出式子,找规律,数学问题

public class Solution {    /**     * @param A: Given an integers array A     * @return: A Long array B and B[i]= A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1]     */    public ArrayList<Long> productExcludeItself(ArrayList<Integer> A) {        // write your code        int n=A.size();ArrayList<Long> l=new ArrayList<Long>();if(n==0)return null;if(n==1&&A.get(0)==0){l.add((long)1);return l;}for(int i=0;i<n;i++)l.add((long) 1);//上三角for(int i=n-2;i>=0;i--){l.set(i,(long)(A.get(i+1))*l.get(i+1));}//下三角long tmp=(long) 1;for(int i=1;i<n;i++){    tmp=tmp*(long)(A.get(i-1));l.set(i,tmp*l.get(i));}return l;}    }


0 0
原创粉丝点击