校驗區間是否存在重疊(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)
相關文章
- 435. 無重疊區間
- LeetCode 435 無重疊區間LeetCode
- python怎麼驗證檔案是否存在Python
- 力扣-435.無重疊區間力扣
- 驗證資料是否存在
- 貪心演算法之無重疊區間演算法
- 【java】校驗當前時間是否在規定的時間內Java
- 力扣 leetcode 435. 無重疊區間 貪心力扣LeetCode
- 時間重疊成立式
- java校驗是否是日期字串Java字串
- 前端資料校驗後,後端介面是否需要再次校驗?前端後端
- python 判斷檔案是否存在Python
- 新增匯率無法儲存,提示存在生效期間重疊的記錄
- 時間序列的ADF校驗(單位根校驗)
- python列表中是否存在某個元素Python
- 統計將重疊區間合併成組的方案數.18098728
- 《重疊實驗框架》閱讀分析框架
- 是否存在鎖的演算法Python版演算法Python
- Linux環境下如何驗證提供時間校準的NTP伺服器是否可用Linux伺服器
- 線段樹(3)——區間操作疊加
- Python3中如何檢查檔案是否存在?Python教程!Python
- 是否存在JSON物件JSON物件
- 用Python校準本地時間Python
- Python 正則是否存在前向貪婪匹配呢?Python
- 實現註解校驗Dto欄位是否為空
- python——集合set不存在重複元素Python
- 工作學習筆記(八)去重校驗筆記
- 程式碼隨想錄演算法訓練營day36 | leetcode 435. 無重疊區間、763. 劃分字母區間、56. 合併區間演算法LeetCode
- Python3檢查檔案是否存在的常用方法!Python
- JSR303自定義校驗註解,自定義註解校驗字串是否是JSON字串,可擴充套件字串JSON套件
- 用Python實現批次掃描域名是否存在指定檔案Python
- springMVC:校驗框架:多規則校驗,巢狀校驗,分組校驗;ssm整合技術SpringMVC框架巢狀SSM
- 貪心演算法-找不重疊的區間段演算法
- 【LeetCode貪心#09】用最少數量的箭引爆氣球,(涉及區間重疊情況判斷)LeetCode
- JavaWeb學習篇10_JQuery初級、高階、Ajax、json簡單學習、校驗使用者名稱是否存在案例、JavaWebjQueryJSON
- JS對日期、時間校驗;相容IE new Date()JS
- 如果透過python的sdk pymilvus 判斷一個 collection 是否存在?Python
- 存在重複元素