0
두 세트의 iCal 이벤트가 있는데 그 사이에 시간 충돌을 찾으려고합니다. 두 세트의 이벤트에는 되풀이 규칙이 있습니다.파이썬을 사용하여 iCal 이벤트가 충돌합니다.
나는 충돌을 찾는 좋은 전략을 모른다. 내가 가지고있는 유일한 전략 (미친)은 각 이벤트 세트의 반복을 확장하고 충돌을 확인하기 위해 이벤트를 하나씩 비교하는 것입니다. 이것은 옳지 않은 것처럼 보입니다.
일부 기능 또는 타사 라이브러리 또는이를 수행 할 간단한 전략이 있습니까?
감사합니다.
그것은 미친 될 수있다 부동되지 않을 수 있습니다 동안 (오전 8도 일광 절약 변경 후 오전 8시을 유지)하지만, iCal은 반복 규칙을 전체 반복 집합으로 확장 한 것처럼 처리해야한다고 지정 했으므로 적어도이 방법을 사용하면 표준을 따르고 있음을 보증합니다. :) – abarnert
어쨌든, 당신은 iCal4j가 어떻게하는지 보길 원할 것입니다. Java로 작성되었지만 모든 언어로 사용 된 iCal 라이브러리 중에서 가장 완벽한 라이브러리입니다. 또한, "하나 하나씩 이벤트 비교"란 무엇을 의미합니까? O (N + M) time과 dead-simple 코드를 원한다면, 반복 세트를리스트가 아닌 세트로 변환하고'intersect' 메쏘드 (또는'&'연산자)를 사용하십시오. 약간 더 복잡한 코드를 사용하여 O (N + M) 시간 및 O (1) 공간을 원한다면, 정렬 된 iterable에 사용할 동일한 종류의 반복을 사용하십시오. 정렬 된 순서). – abarnert