zoukankan      html  css  js  c++  java
  • LeetCode 238. 除自身以外数组的乘积 JAVA

    题目:

    给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。

    示例:

    输入: [1,2,3,4]
    输出: [24,12,8,6]

    说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。

    进阶:
    你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。)

    解题:

    class Solution {
        public int[] productExceptSelf(int[] nums) {
            //从左到右乘一次,从右到左乘一次。
            //即sums[i]应等于左边的乘积*右边的乘积;
            int []sum=new int[nums.length];
            int left=1;
            for(int i=0;i<sum.length;i++)
            {
                sum[i]=left;
                left=left*nums[i];
            }
            int right=1;
            for(int i=sum.length-1;i>=0;i--)
            {
                sum[i]=sum[i]*right;
                right=right*nums[i];
            }
            return sum;
        }
    }
  • 相关阅读:
    Debian 添加用户
    如何让安卓手机访问内网服务器?
    数据库权限
    CentOs
    批量导入sql文件。
    使用Navicat Premium连接mysql数据库
    git 合包
    linux 下文件打包
    git 分支管理
    gcc8.2安装
  • 原文地址:https://www.cnblogs.com/yanhowever/p/10874966.html
Copyright © 2011-2022 走看看