# Maximal Sublist Product - Amazon Top Interview Questions

### Problem Statement :

```Given a list of integers nums, find the maximum product of integers in any contiguous sublist.

Constraints

1 ≤ n ≤ 100,000 where n is the length of nums

Example 1

Input

nums = [1, 10, 2, 0, 3, 5]

Output

20

Explanation

Maximum product sublist is [1, 10, 2]  and 1 * 10 * 2 = 20```

### Solution :

```                        ```Solution in C++ :

int solve(vector<int>& nums) {
int product = 1, neg = 0, cur = 0, maxp = INT_MIN;
for (int i : nums) {
product *= i;
cur = product;
if (product < 0) {
if (neg)
cur /= neg;
else
neg = cur;
} else if (product == 0) {
product = 1;
neg = 0;
}
maxp = max(maxp, cur);
}
return maxp;
}```
```

```                        ```Solution in Python :

class Solution:
def solve(self, nums):
ans = float("-inf")
lo = hi = 1

for x in nums:
lo, hi = min(lo * x, hi * x, x), max(lo * x, hi * x, x)
ans = max(ans, hi)
return ans```
```

## Tree Coordinates

We consider metric space to be a pair, , where is a set and such that the following conditions hold: where is the distance between points and . Let's define the product of two metric spaces, , to be such that: , where , . So, it follows logically that is also a metric space. We then define squared metric space, , to be the product of a metric space multiplied with itself: . For

## Array Pairs

Consider an array of n integers, A = [ a1, a2, . . . . an] . Find and print the total number of (i , j) pairs such that ai * aj <= max(ai, ai+1, . . . aj) where i < j. Input Format The first line contains an integer, n , denoting the number of elements in the array. The second line consists of n space-separated integers describing the respective values of a1, a2 , . . . an .

## Self Balancing Tree

An AVL tree (Georgy Adelson-Velsky and Landis' tree, named after the inventors) is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property. We define balance factor for each node as : balanceFactor = height(left subtree) - height(righ

## Array and simple queries

Given two numbers N and M. N indicates the number of elements in the array A[](1-indexed) and M indicates number of queries. You need to perform two types of queries on the array A[] . You are given queries. Queries can be of two types, type 1 and type 2. Type 1 queries are represented as 1 i j : Modify the given array by removing elements from i to j and adding them to the front. Ty