請幫助我理解,如何撰寫會議交叉演算法?
我寫了一個會議日歷。此日歷使用 SQLite3 db 進行商店會議。日歷的作業時間為 24 小時或 1440 分鐘。最短會議時間為 1 分鐘。
用戶輸入 start_meeting(10:00), end_meeting(11:00)> 腳本將時間轉換為 600 和 660(小時*60 分鐘)> 在將資料寫入 db 腳本之前必須檢查會議范圍不會與會議范圍相交db> 如果沒有攔截> 將會議寫入 db。
如何檢查進入會議的交集和資料庫中存在的會議?PS:對不起英文)
for more clarity:
new meeting:
start_meeting end_meeting
600 660
database meetings:
start_meeting end_meeting
530 630
540 600
840 841
uj5u.com熱心網友回復:
我認為這可能有效,但還沒有時間測驗所有場景:
create table meetings (startM REAL, endM REAL);
insert into meetings VALUES(530,630);
insert into meetings VALUES(540,600);
insert into meetings VALUES(840,841);
select * from meetings where ((600 BETWEEN startM AND endM) OR (660 BETWEEN startM AND endM));
結果是:
530.0|630.0 540.0|600.0
BETWEEN 運算子顯然會告訴您一個數字是否介于兩個數字之間,我猜您希望“新會議”時間中的任何一個都不在 startM 和 endM 之間。因此,如果回傳記錄,則存在沖突。
您必須在 Python 中為新會議執行字串替換,然后找出 cur.fetchall() 命令的長度以查看是否存在沖突。
希望這是對您的一些指導。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/527947.html
