码迷,mamicode.com
首页 > 编程语言 > 详细

剑指offer-66 构建乘积数组

时间:2020-03-02 01:16:07      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:自己   ant   contain   思路   ext   solution   nta   over   tom   

剑指offer-66 构建乘积数组

题目:
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...*A[i-1]A[i+1]...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = A[0] * A[1] * ... * A[n-2];)

思路:

自己解答:

import java.util.ArrayList;
public class Solution {
    public int[] multiply(int[] A) {
        int[] res = new int[A.length];
        res[0] = 1;
        res[1] = A[0];
        for(int i = 2; i < A.length; i++){
            res[i] = res[i - 1] * A[i - 1];
        }
        int tmp = 1;
        for(int i = A.length -2; i >= 0; i--){
            tmp *= A[i + 1];
            res[i] *= tmp;
        }
        return res;
    }
}

犯的错误:
第二个循环中,需要temp来存乘积

注意:

别人解答:

剑指offer-66 构建乘积数组

标签:自己   ant   contain   思路   ext   solution   nta   over   tom   

原文地址:https://www.cnblogs.com/muche-moqi/p/12393044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!