18 lines
625 B
Python
18 lines
625 B
Python
import random
|
|
from typing import List, Tuple
|
|
|
|
def generate_interval_scheduling_case(size: int = 10, min_time: int = 0, max_time: int = 100) -> List[Tuple[int, int]]:
|
|
"""
|
|
Generates a list of random intervals (start, end).
|
|
"""
|
|
intervals = []
|
|
for _ in range(size):
|
|
start = random.randint(min_time, max_time - 1)
|
|
# Ensure end > start
|
|
duration = random.randint(1, (max_time - start) // 2 + 1 if (max_time - start) > 2 else 1)
|
|
end = min(start + duration, max_time)
|
|
if end <= start:
|
|
end = start + 1
|
|
intervals.append((start, end))
|
|
return intervals
|