zoukankan      html  css  js  c++  java
  • Java [Leetcode 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.)

    解题思路:

    遍历两次数组,第一次从前往后遍历,每个位置存放的是之前所有数字的乘积,第二次从后往前遍历,可以得到该位置之后所有数字的乘积,这样就得到每个位置除了本身之外的所有位置乘积。

    代码如下:

    public class Solution {
        public int[] productExceptSelf(int[] nums) {
        	int n = nums.length;
        	int[] res = new int[n];
        	for(int i = 0, temp = 1; i < n; i++){
        		res[i] = temp;
        		temp *= nums[i];
        	}
        	for(int i = n - 1, temp = 1; i >= 0; i--){
        		res[i] *= temp;
        		temp *= nums[i];
        	}
        	return res;
        }     
    }
    

      

  • 相关阅读:
    CSS margin合并
    最大网络流
    js——this
    js——作用域和闭包
    CSS弹性(flexible)盒子
    CSS盒子模型
    修改html中button显示的文字
    远程唤醒UP Board
    UP Board 串口使用心得
    UP Board 网络设置一本通
  • 原文地址:https://www.cnblogs.com/zihaowang/p/5242033.html
Copyright © 2011-2022 走看看