input: Write a python function to minimize meeting duration, ensuring no overlapping meetings.
  assert minimize_meeting_duration([(1, 4), (2, 5), (6, 8)]) == [(1, 4), (6, 8)]
  assert minimize_meeting_duration([(0, 1), (3, 5), (4, 6), (8, 9)]) == [(0, 1), (3, 5), (8, 9)]
  assert minimize_meeting_duration([(1, 3), (2, 4), (5, 7), (6, 8)]) == [(1, 3), (5, 7)]
output: def minimize_meeting_duration(meetings):
      if not meetings:
          return []
  
      # Sort meetings by start time
      meetings.sort(key=lambda x: x[0])
      
      minimized_meetings = []
      current_meeting = meetings[0]
      
      for next_meeting in meetings[1:]:
          if current_meeting[1] > next_meeting[0]:
              # Overlapping meetings, take the one that ends earlier
              current_meeting = (current_meeting[0], min(current_meeting[1], next_meeting[1]))
          else:
              # No overlap, add the current meeting to the list
              minimized_meetings.append(current_meeting)
              current_meeting = next_meeting
      
      minimized_meetings.append(current_meeting)
      
      return minimized_meetings