FastPrepFastPrep
Problem Brief

Meeting Assistant

INTERNOA
See Snowflake online assessment and hiring insights

Implement a simple meeting assistant. A list of strings, events[n], in the form "<person_name> <action> <start> <end>" is provided where person_name performs action from start to end, both inclusive. Times are formatted HH:MM. Find the earliest time in the day, from "00:00" to "23:59", when all people mentioned in at least one event are available for a meeting of k minutes. Report the answer as "HH:MM" or the string "-1" if it is not possible.

Function Description

Complete the function getEarliestMeetTime in the editor below.

getEarliestMeetTime takes the following arguments:

  1. 1. String events[n]: event descriptors
  2. 2. int k: meeting duration

Returns

string: the earliest time for the meeting or "-1" if it is not possible

1Example 1

Input
events = ["Alex sleep 00:00 08:00", "Sam sleep 07:00 13:00", "Alex lunch 12:30 13:59"], k = 60
Output
"14:00"
Explanation
Alex is not available until 8:00. After that, Sam is not available until 13:00. Then Alex is busy until 13:59. Return the earliest time they are both available, "14:00".

2Example 2

Input
events = ["sam sleep 12:00 23:59", "alex sleep 00:00 13:00"], k = 1
Output
"-1"
Explanation
There is no time when both are free. 😞

3Example 3

Input
events = ["sam sleep 12:00 18:59", "alex gaming 00:00 11:00"], k = 60
Output
"19:00"
Explanation
Alex plays games from 00:00 until 11:00. If the meeting starts at 11:01, it ends at 12:01. Sam is asleep from 12:00 to 18:59.

Constraints

Limits and guarantees your solution can rely on.

  • 1 ≤ n ≤ 105
  • 1 ≤ length of events[i] ≤ 40
  • 1 ≤ k ≤ 1440
  • It is guaranteed that the number of people is less than 5000.
  • It is guaranteed that no person's events overlap.
  • public String getEarliestMeetTime(String[] events, int k) {
        // write your code here
    }
    
    Input

    events

    ["Alex sleep 00:00 08:00", "Sam sleep 07:00 13:00", "Alex lunch 12:30 13:59"]

    k

    60

    Output

    "14:00"

    Sign in to submit your solution.