# Problem Definition

## Description

Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i.

For example, if our input was [1, 2, 3, 4, 5], the expected output would be [120, 60, 40, 30, 24]. If our input was [3, 2, 1], the expected output would be [2, 3, 6].

Follow-up: what if you can't use division?

## Notes

1. [LeetCode discussion - Simple Java solution in O(n) without extra space](https://leetcode.com/problems/product-of-array-except-self/discuss/65622/Simple-Java-solution-in-O(n)-without-extra-space)
1. [Geeks for Geeks - A Product Array Puzzle](https://www.geeksforgeeks.org/a-product-array-puzzle/)
1. [ProgramCreek - Product of Array Except Self (Java)](https://www.programcreek.com/2014/07/leetcode-product-of-array-except-self-java/)