## Proposed Questions

In this session, we will cover one design question followed by a few Dynamic Programming questions

### Design Question:

Design a meeting scheduling system where you will be given a meeting of a set duration (30 min increments) and a group of participants.

Assuming you know every participant’s availability in 30 minute chunks for next 7 days.

- Identify the earliest possible meeting time when every participant is available.
- What if some of the participants are optional? What is the time slot when all mandatory participants are available and most optional participants are available?
- If there are sub-groups in the participants list, we need at least one member from each group as a mandatory participant and rest of the group members are optional.

### Dynamic Programming Questions:

**Longest Increasing Subsequence (LIS):**Given an array of integers. Find length of the longest subsequence of numbers from the array such that all numbers of the subsequence are sorted in increasing order.

Input: {1,8,4,5,10,19,11} is the input array, then, {1,4,5,10,19} is one of the LIS and the output is 5.

Note: The elements may not be contiguous in the LIS.**Box Stacking:**Say you are given N boxes ( H / W / D), you have to stack them up to achieve the maximum hight. When you stack the boxes up, the box below must be wider and deeper than the box above.**Largest Sum Contiguous Subarray:**You are given an array, we need to find a contiguous subarray that has the maximum sum.**Longest Common Subsequence:**Given two strings S1 and S2. Find the longest common subsequence between S1 and S2.

Please RSVP to the session at SDE Skills Meetup