av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - 求時間段之間的交集的最優解

瀏覽:134日期:2023-10-11 11:54:36

問題描述

判斷一段時間與一堆一段時間之間是否有交集。有與起止時間相同的判斷為有交集如

判斷 12:30:00--14:20:00與下列時間段是否有交集10:00:00-12:00:00, 12:10:00-12:50:00 , 14:30:00-15:00:00

轉換為時間戳然后一一循環比較

function is_cross($st1, $et1, $st2, $et2) {$status = $st2 - $st1;if ($status > 0) { $status2 = $st2 - $et1; if ($status2 >= 0) {return false; } else {return true; }} else { $status2 = $et2 - $st1; if ($status2 > 0) {return true; } else {return false; }} }

這能解決問題,但是求更優的方法,最小的時間復雜度

問題解答

回答1:

public function inter(){

$tar=[6,4]; if($tar[0]>$tar[1]){$temp=$tar[0];$tar[0]=$tar[1];$tar[1]=$temp; } $all=[[5,6],[7,9],[1,4],[3,1],[1,3],[8,7] ]; //排序 foreach ($all as &$v){if($v[0]>$v[1]){ $temp=$v[0]; $v[0]=$v[1]; $v[1]=$temp;} } foreach ($all as $k=>$v){$left=$tar[0]>$v[1];$right=$v[0]>$tar[1];if(!($left||$right)){ var_dump($v);} }}回答2:

將時間轉化為時間戳,然后-------對比。

回答3:

如果這個 一堆一段時間 需要被多次使用: 可以用線段樹。一次使用時'一一對比'也不會更慢。

回答4:

# -*- coding: utf-8 -*-def is_mixed(t1, t2): ’’’ 假定時間段格式是:'10:00:00-12:00:00' 判斷 t1,t2是否有交集 ’’’ s1, e1 = t1.split('-') s2, e2 = t2.split('-') if s1 > e2 and s2 > e1:return True if s2 > e1 and s1 > e2:return True return Falset1 = '12:30:00-04:20:00't2 = '03:00:00-22:23:00'if is_mixed(t1, t2): print '有交集!'else: print '木有交集!'

python版本,js應該也是一樣的

回答5:

轉換成時間戳能方便比較點回答6:

這樣可以從periods挑出和period有交集的時間段。

period = '12:30:00-14:20:00'periods = ['10:00:00-12:00:00', '12:10:00-12:50:00','14:30:00-15:00:00']print([x+’-’+y for [b,e] in [period.split('-')] for [x,y] in [p.split('-') for p in periods] if x<=e and y>=b])回答7:

把時間轉換為整型123000, 反向判斷a -- bc -- d 這兩個時間段,在什么情況下沒有交集

b < c

a > d

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 成人在线不卡 | 日本成人毛片 | 色影视| 九九热国产精品视频 | 国产一区视频在线 | 成人毛片一区二区三区 | 亚洲国产一区二区三区四区 | 欧美在线一级 | 国产精品久久精品 | 国产一二区视频 | 天天天操天天天干 | 天天曰夜夜 | 中文字幕不卡在线观看 | 久草视| 99免费在线观看 | 国产成在线观看免费视频 | 欧美在线 | 成人午夜影院 | 日韩av手机在线观看 | 91色在线| 亚洲黄色视屏 | 日韩在线播放中文字幕 | 国产高清不卡 | 国产视频线观看永久免费 | 久久一久久| 欧美另类视频在线 | 成人精品鲁一区一区二区 | 成人毛片一区二区三区 | 你懂的在线视频播放 | 国产高清视频一区二区 | 欧美成年黄网站色视频 | 精品av| 天天色天天射天天干 | 亚洲三级av | 97久久精品午夜一区二区 | 欧美舔穴 | 91久久精品国产91久久性色tv | 久久久久久精 | 中文字幕亚洲视频 | 黄色毛片大全 | 久久国际精品 |