[1,3]가 1 내지 3 사이의 임의의 번호를 나타낸다으로리스트 A를 기존의 요소는, [X, y]는 어레이 형태로, 디지털 간격의 조각의 대표적인 예이다
(예를 들어, : [10, 25]) 목록에 추가 할 수 없습니다, True 또는 False를 반환 새로운 디지털 new_element 간격 주어진 분석하기
다음과 같은 조건을 충족해야합니다, 어떤 숫자의 새로운 범위의 목록에 추가 필요 :
- 새로운 디지털 간격 [X, Y, Y는 X가 있어야보다 큰 삽입
- 각 간격에 중첩 영역이 존재하지 수 번호 목록
- 예를 들어 [3,5-]와 [7,8] 사이에 중첩하지만, [3,5] 및 [4,6] 영역 (참고 겹치는 : 그 사이 [3,5-]와 [5,6] 그것은) 오버랩하지
네 개의을 형성 할 수있다 겹치는 간격
a = [
[6, 6.9],
[3, 5.6],
[12, 22],
[37.5, 97.8]
]
def can_add_in(a, new_element):
# y 必须大于 x
if new_element[1] <= new_element[0]:
return False
# 和已存在的每个区间进行比较
for i in a:
# print(i)
# 1 和 4 的情况:新区间的起始在已有区间内
if i[1] > new_element[0] and i[0] <= new_element[0]:
return False
# 2 和 3 的情况:已有区间的起始在新区间内
elif i[0] >= new_element[0] and i[0] < new_element[1]:
return False
return True
print(can_add_in(a, [6.9, 12]))