给定一个数组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]。不能使用除法。


import java.util.ArrayList;
public class Solution {
    public int[] multiply(int[] A) {
        
        if(A==null || A.length == 0){
            return null;
        }
        
        int[] B = new int[A.length];
        int temp = 0;
        for (int i = 0; i < A.length; i++) {
            int res = 1;
            for (int j = 0; j < A.length; j++) {
                if( i == j){
                    temp = A[j];//临时变量存储A[j]的值,避免数组值的改变
                    A[j] = 1;
                    res *= A[j];
                    A[j] = temp;
                }else {
                    res *= A[j];
                }
            }
             B[i] = res;
        }
        return B;
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 给定一个整数数组 nums 和一个目标值 k,请实现一个方法判断 nums 中是否存在某个片段(即若干个相连元素)之和等于 k。要求时间复杂度为 O(n)。 python实现给定一个数和数组,求数组中两数之和为给定的数 长为N的数组,元素范围是0-N-1,其中只有一个数是重复的,找出这个重复元素 统计一个数组中相同元素的个数 给定一个数组,获取数组中的最大值,以及最小值。 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。 Leetcode练习(Python):数组类:第122题:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 Leetcode练习(Python):数组类:第123题:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 Mysql中(@i:=@i+1)的作用
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM