Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình đếm số khoảng giao nhau tại một điểm đã cho bằng Python

Giả sử chúng ta có một danh sách các khoảng và một giá trị được gọi là điểm. Mỗi khoảng thời gian [i] chứa [si, ei] đại diện cho thời gian bắt đầu và thời gian kết thúc của khoảng thời gian i (bao gồm cả hai). Chúng ta phải tìm số khoảng giao nhau tại một điểm đã cho.

Vì vậy, nếu đầu vào giống như khoảng =[[2, 6], [4, 10], [5, 9], [11, 14]] point =5, thì đầu ra sẽ là 3, vì tại thời điểm 5, có 3 khoảng đó là [3, 6], [4, 10], [5, 9]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đếm:=0

  • đối với mỗi thời gian bắt đầu i và thời gian kết thúc j trong các khoảng thời gian, hãy thực hiện

    • nếu point> =i và point <=j, thì

      • count:=count + 1

  • số lần trả lại

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

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