monacobiscut
BAN USERpublic static int FindMinimumMeetingRoomsReqd(int[,] meetingtimes)
{
if(meetingtimes == null || meetingtimes.Length == 0)
{
return default(int);
}
Dictionary<int,int> slots = new Dictionary<int,int>();
for(int i = 0 ; i < meetingtimes.Length /2 ; i++)
{
if(!slots.ContainsKey(meetingtimes[i,0]))
{
slots.Add(meetingtimes[i, 0], 1);
}
else
{
slots[meetingtimes[i, 0]] += 1;
}
}
IEnumerable<KeyValuePair<int, int>> result = slots.OrderByDescending(key => key.Value);
KeyValuePair<int,int> Top = result.ElementAt(0);
Console.WriteLine("Min number of rooms : {0}, slot with highest overlaps is at hour 2: {1} - {2}", Top.Value, Top.Key, Top.Key+1);
return Top.Value;
}
- monacobiscut March 27, 2015