Algoritma çakışan dönemler tespit
Eğer iki kez üst üste dönemler halinde tespit ettim.
Her dönem için bir başlangıç tarihi ve bir bitiş tarihi.
Eğer ilk kez regl (A) Bir tane(B/C) ile çakışan olup olmadığını tespit etmek için ihtiyacım var.
Eğer B başlangıcı, Bir sonu eşitse benim durumumda, bindirme(ters de değildir
Aşağıdaki durumlarda buldum:
Yani aslında böyle yapıyorum:
tStartA < tStartB && tStartB < tEndA //For case 1
OR
tStartA < tEndB && tEndB <= tEndA //For case 2
OR
tStartB < tStartA && tEndB > tEndA //For case 3
(4 ya da 2 diye 1 veya hesap alınır)
çalışırçok etkili değil gibi görünüyor ama.
İlk c varolan bir sınıftır. bu(süre), bir şey timepsan, ama sabit bir başlangıç ile bir tarih gibi modelize.
İkincisi: zaten bir c vardır# (Datetime sınıfı gibi) bu işleyebilir? kod
Bu karşılaştırma en hızlı yapmak için yaklaşımınız ne olurdu? eğer üçüncü:
CEVAP
Basit bir kontrol ederseniz iki farklı dönemde üst üste görmek için:
bool overlap = a.start < b.end && b.start < a.end;
ya senin kodu:
bool overlap = tStartA < tEndB && tStartB < tEndA;
(Eğer birbirimizi sadece dokun iki dönem üst üste söylemek istediğim konusunda fikrinizi değiştirirseniz <
yerine <=
kullanın.)
En iyi algoritma tespit döngüleri için...
Şişirme/sönüyor için bir algoritma (of...
JavaScript AJAX bir olay tespit...
Kolay iOS İnternet bağlantısı tespit e...
JavaScript ile metin içinde URL tespit...