校驗區間是否存在重疊(Python)
校驗區間(閉區間)是否存在重疊所用到得演算法參考:
無言火: 演算法–驗證時間段不交叉/不重複的方法
核心得思路在於:有序區間下,下一區間得開始節點必須大於上一區間得結束節點。
解決方案:首先根據區間開始節點排序整理好,然後迴圈判斷下一區間得開始節點是否大於上一區間的結束節點,如果小於等於則存在重疊。
Python示例如下:
# -*- coding: utf-8 -*-
def check_fun(check_list):
"""校驗是否重疊"""
if len(check_list) < 1:
return False
if len(check_list) == 1:
return True
print('check_list : ', check_list)
# 排序
a_list = sorted(check_list, key=lambda l: l[0])
print('a_list : ', a_list)
for i in range(0, len(a_list)-1):
if a_list[i+1][0] <= a_list[i][1]:
print('%s 與 %s 重疊!'% (str(a_list[i]), str(a_list[i+1])))
return False
# 定義三組樣例資料
a = [50, 150]
b = [1, 100]
c = [200, 1000]
check_list = [a,b,c]
res = check_fun(check_list)
相關文章
- python怎麼驗證檔案是否存在Python
- LeetCode 435 無重疊區間LeetCode
- 區間重疊計算及IntervalTree初識
- 力扣-435.無重疊區間力扣
- 貪心演算法之無重疊區間演算法
- 驗證資料是否存在
- 【java】校驗當前時間是否在規定的時間內Java
- 判斷元素是否有重疊部分
- 時間重疊成立式
- java校驗是否是日期字串Java字串
- 新增匯率無法儲存,提示存在生效期間重疊的記錄
- 前端資料校驗後,後端介面是否需要再次校驗?前端後端
- 《重疊實驗框架》閱讀分析框架
- 驗證字串的長度是否在指定的區間字串
- 力扣 leetcode 435. 無重疊區間 貪心力扣LeetCode
- python 判斷檔案是否存在Python
- python列表中是否存在某個元素Python
- 檢驗系統帳號是否存在的例項
- 是否存在鎖的演算法Python版演算法Python
- python檢測圖片是否存在指令碼Python指令碼
- python判斷檔案是否存在等操作Python
- Python檢驗一個檔案是否存在,如果不在就自己填寫內容。Python
- 統計將重疊區間合併成組的方案數.18098728
- 線段樹(3)——區間操作疊加
- 實現註解校驗Dto欄位是否為空
- Linux環境下如何驗證提供時間校準的NTP伺服器是否可用Linux伺服器
- 用Python校準本地時間Python
- python——集合set不存在重複元素Python
- Python 正則是否存在前向貪婪匹配呢?Python
- Python 判斷檔案是否存在的三種方法Python
- 是否存在JSON物件JSON物件
- Python3中如何檢查檔案是否存在?Python教程!Python
- 關於Oracle10g JOB執行是否會重疊的問題Oracle
- 使用ajax方式驗證使用者名稱是否存在程式碼
- Grid能否安裝、是否正常安裝的校驗語法
- C# 校驗字串是否漢字、其他字元,數字或字元C#字串字元
- springMVC:校驗框架:多規則校驗,巢狀校驗,分組校驗;ssm整合技術SpringMVC框架巢狀SSM
- Python3檢查檔案是否存在的常用方法!Python