zoukankan      html  css  js  c++  java
  • 238. Product of Array Except Self 由非己元素形成的数组

    Given an array nums of n integers where n > 1,  return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

    Example:

    Input:  [1,2,3,4]
    Output: [24,12,8,6]
    

    Constraint: It's guaranteed that the product of the elements of any prefix or suffix of the array (including the whole array) fits in a 32-bit integer.

    Note: Please solve it without division and in O(n).

    Follow up:
    Could you solve it with constant space complexity? (The output array does not count as extra space for the purpose of space complexity analysis.)

     
    思路:左边走到哪乘到哪,右边只是在
     
    class Solution {
        public int[] productExceptSelf(int[] nums) {
            //cc
            int[] res = new int[nums.length];
            
            if (nums == null || nums.length == 0)
                return res;
            
            res[0] = 1;
            int right = 1;
            
            //从左往右乘
            for (int i = 1; i < nums.length; i++) {
                res[i] = res[i - 1] * nums[i - 1];
            }
            
            //从右往左补
            for (int j = nums.length - 1; j >= 0; j--) {
                res[j] *= right;
                right *= nums[j];
            }
            
            //返回
            return res;
        }
    }
    View Code
     
     
  • 相关阅读:
    java 运算
    java String
    java的数据类型
    Python: str() 和 repr() 的区别
    Linux命令:which
    Linux命令:locate
    Linux命令:ifconfig
    Linux命令:whereis
    Linux命令:rz 和 sz
    Linux命令:scp
  • 原文地址:https://www.cnblogs.com/immiao0319/p/13917306.html
Copyright © 2011-2022 走看看