import heapq

def minimum_rooms(meetings):
    ends = []
    rooms = 0
    for start, end in sorted(meetings):
        if start == end:
            continue
        while ends and ends[0] <= start:
            heapq.heappop(ends)
        heapq.heappush(ends, end)
        rooms = max(rooms, len(ends))
    return rooms
