• 238. 除自身以外数组的乘积


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

    示例:

    输入: [1,2,3,4]

    输出: [24,12,8,6]

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

    进阶:

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

     1/**
    2 * @param {number[]} nums
    3 * @return {number[]}
    4 */

    5
    6var productExceptSelf = function (nums) {
    7    var r = []
    8    if(nums.includes(0)) {
    9        // 包含0
    10        for (var i=0; i<nums.length; i++) {
    11            var mul = 1
    12            for (var j = 0; j < nums.length; j++) {
    13                if (j !== i) mul = mul * nums[j];
    14            }
    15            r.push(mul);
    16        }
    17    } else {
    18        // 不含0
    19        var mul = 1
    20        for(var i=0; i<nums.length; i++) {
    21            mul = mul * nums[i]
    22        }
    23
    24        for(var i=0; i<nums.length; i++) {
    25            r.push(mul / nums[i])
    26        }
    27    }
    28
    29    return r
    30}
  • 相关阅读:
    动态添加删除控件
    文件下载源码
    poj 1300 欧拉回路、通路 解题报告
    hdu 1232 并查集 或者 深搜
    hdu 2546 01背包问题
    强连通图的判断 hdu 1269
    hdu 2159 二维费用背包问题
    Hdu 3336 kmp+dp解题报告
    hdu 3639 强连通练习使用
    hdu 1712 分组背包问题
  • 原文地址:https://www.cnblogs.com/rencoo/p/9778015.html
Copyright © 2020-2023  润新知