LeeCode238除自身以外数组的乘积(Java)(思维)

题目链接:LeeCode238除自身以外数组的乘积
题目描述:在这里插入图片描述
这道题属实没想到进阶的解法,看了题解才会的,定义一个常数先从左向右将答案数组都存当前数左边的乘积,然后反向遍历,用常数存当前数右边的乘积,再和刚才存下来的左边数的乘积相乘
在这里插入图片描述

public static int[] productExceptSelf(int[] nums) {
    
    
        int k=1;
        int[] ans=new int[nums.length];
        ans[0]=1;
        for (int i = 1; i < nums.length; i++) {
    
    
            k*=nums[i-1];
            ans[i]=k;
        }
        k=1;
        for (int i = nums.length-2; i >=0; i--) {
    
    
            k*=nums[i+1];
            ans[i]*=k;
        }
        return ans;
    }

猜你喜欢

转载自blog.csdn.net/weixin_43590593/article/details/113526023
今日推荐