# First Fit Room - Amazon Top Interview Questions

### Problem Statement :

```You are given a list of integers rooms and an integer target. Return the first integer in rooms that's target or larger. If there is no solution, return -1.

Constraints

0 ≤ n ≤ 100,000 where n is the length of rooms

Example 1

Input

rooms = [15, 10, 30, 50, 25]
target = 20

Output

30

Explanation

30 is the first room that's at least as large as 20.

Example 2

Input

rooms = [15, 10, 30, 50, 25]
target = 51

Output

-1

Explanation
There's no room that's at least 51.```

### Solution :

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

int solve(vector<int>& rooms, int target) {
auto it = find_if(rooms.begin(), rooms.end(), [&](int value) { return value >= target; });
return it == rooms.end() ? -1 : *it;
}```
```

```                        ```Solution in Java :

import java.util.*;

class Solution {
public int solve(int[] rooms, int target) {
for (int r : rooms) {
if (r >= target)
return r;
}
return -1;
}
}```
```

```                        ```Solution in Python :

class Solution:
def solve(self, rooms, target):
return next((x for x in rooms if x >= target), -1)```
```

## Jenny's Subtrees

Jenny loves experimenting with trees. Her favorite tree has n nodes connected by n - 1 edges, and each edge is ` unit in length. She wants to cut a subtree (i.e., a connected part of the original tree) of radius r from this tree by performing the following two steps: 1. Choose a node, x , from the tree. 2. Cut a subtree consisting of all nodes which are not further than r units from node x .

## 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