Cho danh sách khoảng thời gian intervals (mỗi khoảng [start, end] bao gồm cả hai đầu) và một thời điểm point. Đếm số khoảng chứa point.
Ví dụ: intervals = [[2,6],[4,10],[5,9],[11,14]], point = 5 → kết quả 3 (khoảng [2,6], [4,10], [5,9]).
Thuật toán giải quyết (O(n))
- Khởi tạo
count = 0 - Duyệt từng khoảng
[i, j]:- Nếu
point >= i and point <= j:count += 1
- Nếu
- Trả về
count
Ví dụ minh họa
def solve(intervals, point):
count = 0
for i, j in intervals:
if point >= i and point <= j:
count += 1
return count
intervals = [[2, 6], [4, 10], [5, 9], [11, 14]]
point = 5
print(solve(intervals, point))
Đầu vào
[[2, 6],[4, 10],[5, 9],[11, 14]], 5
Đầu ra
3