Product of Array Except Self

Asked byAmazonFacebookMicrosoftAsanaAppleUber

Problem

Given an integer array nums, return an array answer where answer[i] equals the product of every element in nums except nums[i], without using the division operator.

Examples

Example 1
Input:nums = [1,2,3,4]
Output:[24,12,8,6]
Example 2
Input:nums = [-1,1,0,-3,3]
Output:[0,0,9,0,0]

Constraints

  • 2 <= nums.length <= 10^5
  • The product of any prefix or suffix fits in a 32-bit integer.

Solve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.

Solve on FeatCode →

How to approach it: the Arrays & Hashing pattern

Arrays give O(1) index access; hash maps and sets give O(1) average lookup, insert, and delete by trading space for speed. Together they're the toolkit for turning brute-force O(n²) comparisons into a single O(n) pass.

Look for this pattern when

  • You need to check "have I seen this value before?" quickly.
  • You're counting occurrences or grouping items by a derived key (e.g. sorted letters for anagrams).
  • A nested loop is comparing every pair — a hash map can often replace the inner loop.

Read the full Arrays & Hashing guide →

Video walkthroughs

Original problem on LeetCode ↗

More Arrays & Hashing problems