Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมนับจำนวน Interval ที่ทับซ้อนจุดที่กำหนดใน Python

ให้ลิสต์ Intervals [[s_i, e_i]] และ point นับจำนวน Interval ที่ครอบคลุม point (รวมขอบ)

ตัวอย่าง: intervals=[[2,6],[4,10],[5,9],[11,14]], point=5 → 3

ขั้นตอน (O(n))

  1. count = 0
  2. วนทุก Interval ถ้า start ≤ point ≤ end: count += 1

ตัวอย่างโค้ด

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))  # Output: 3

อินพุต

[[2, 6],[4, 10],[5, 9],[11, 14]], 5

เอาต์พุต

3