Google / Amazon / Uber Interview Question — LeetCode 1352

Y Tech
2 min readJan 30, 2022

In this post, we are going to discuss leetcode 1352 — Product of the Last K Numbers, which is recently asked in Google, Uber, and Amazon interviews.

Problem Analysis

Design an algorithm that accepts a stream of integers and retrieves the product of the last k integers of the stream.

Implement the ProductOfNumbers class:
1.
ProductOfNumbers() Initializes the object with an empty stream.
2.
void add(int num) Appends the integer num to the stream.
3.
int getProduct(int k) Returns the product of the last k numbers in the current list. You can assume that always the current list has at least k numbers.

The test cases are generated so that, at any time, the product of any contiguous sequence of numbers will fit into a single 32-bit integer without overflowing.

Example 1:

Input 
["ProductOfNumbers","add","add","add","add","add","getProduct","getProduct","getProduct","add","getProduct"]
[[],[3],[0],[2],[5],[4],[2],[3],[4],[8],[2]]
Output [null,null,null,null,null,null,20,40,0,null,32] Explanation
ProductOfNumbers productOfNumbers = new
ProductOfNumbers();
productOfNumbers.add(3); // [3]
productOfNumbers.add(0); // [3,0]
productOfNumbers.add(2); // [3,0,2]
productOfNumbers.add(5); // [3,0,2,5]
productOfNumbers.add(4); // [3,0,2,5,4] productOfNumbers.getProduct(2); // return 20. The product of the last 2 numbers is 5 * 4 = 20

--

--