Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 주어진 지점에서 교차하는 간격의 수를 계산하는 프로그램

<시간/>

간격 목록과 point라는 값이 있다고 가정합니다. 각 간격 간격[i]에는 간격 i의 시작 시간과 종료 시간(둘 모두 포함)을 나타내는 [si, ei]가 포함됩니다. 주어진 점에서 교차하는 간격의 수를 찾아야 합니다.

따라서 입력이 간격 =[[2, 6],[4, 10],[5, 9],[11, 14]] point =5와 같으면 출력은 3이 됩니다. 왜냐하면 시간 5에서, [3, 6], [4, 10], [5, 9]의 3가지 간격이 있습니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 개수 :=0

  • 간격의 각 시작 시간 i와 종료 시간 j에 대해

    • 포인트>=i이고 포인트 <=j인 경우

      • 개수 :=개수 + 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))

입력

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

출력

3