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.

  1. Identify the earliest possible meeting time when every participant is available.
  2. 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?
  3. 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:

  1. 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.
  2. 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.
  3. Largest Sum Contiguous Subarray: You are given an array, we need to find a contiguous subarray that has the maximum sum.
  4. 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

Session Capture