zoukankan      html  css  js  c++  java
  • 238. Product of Array Except Self

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

    Solve it without division and in O(n).

    For example, given [1,2,3,4], return [24,12,8,6].

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

    题意:给定一个数组(每个元素都大于1) 返回一个数组,每位的值都是原数组中除本身以外的所有元素乘积

     1     public int[] productExceptSelf(int[] nums) {
     2         int n = nums.length;
     3         int[] res = new int[n];
     4         res[0] = 1;
     5 
     6         for (int i = 1; i < nums.length; i++) {
     7             res[i] = res[i - 1] * nums[i - 1];//res每一位都保存了他前面所有数的乘积
     8         }
     9 
    10         int right = 1;
    11         for (int i = nums.length - 1; i >= 0; i--) {
    12             res[i] *= right; //right此时保存的是右边一位到末尾的数乘积
    13             right *= nums[i];//right保存了从结尾开始到i截止所有数的乘积
    14         }
    15         return res;
    16     }
  • 相关阅读:
    jedis scan实现keys功能
    java简单实现一个阻塞式线程池
    Swift运算符
    数组的使用(1)
    Linux 常用命令
    Task02:基础查询与排序
    Task01:初识数据库
    摩尔投票法
    面向对象暑期课程总结
    xpath+requests+peewee——CSDN论坛全方位爬虫
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7677591.html
Copyright © 2011-2022 走看看