python怎么写区间函数 python编程怎么表示区间

主机教程 建站分享 2年前 (2022-11-29) 196次浏览

文章摘要:python怎么写区间函数 python编程怎么表示区间

在python中书写区间函数的方法 1.合并区间 def merge(intervals):  […]

在python中书写区间函数的方法

1.合并区间

def merge(intervals):

'''

@msg: //合并多个区间

@param intervals {list} //一个二维数组,每一项代表一个区间

@return: {list} //返回合并后的区间列表

'''

intervals = [sorted(x) for x in intervals]

intervals.sort(key=lambda x: x[0])

merged = []

for interval in intervals:

if not merged or merged[-1][1] < interval[0]:

merged.append(interval)

else:

merged[-1][1] = max(merged[-1][1], interval[1])

return merged

2.判断区间

def relation(interval1,interval2):

'''

@msg: //判断两个区间的关系

@param interval1 {list} //第一个区间

@param interval2 {list} //第二个区间

@return: {int} //返回两个区间的关系,0:两个区间相等、1:两个区间相离、2:两个区间相交、3:两个区间为包含关系

'''

min1,max1=sorted(interval1)

min2,max2=sorted(interval2)

if(min1==min2 and max1==max2):return 0

if(max1<min2 or="" max2<min1):return="" 1if(min1<min2<=max1<max2 or="" min2<min1<="max2<max1):return" 2if(min1<=min2<=max2<=max1 or min2<=min1<=max1<=max2):return 3

3.求区间的交集

def intersection(interval1,interval2):

'''

@msg: //求两个区间的交集

@param interval1 {list} //第一个区间

@param interval2 {list} //第二个区间

@return: {list} //若两个区间存在交集,则返回交集,否则返回空列表

'''

nums=sorted(interval1+interval2)

if relation(interval1,interval2) != 1:

return [nums[1],nums[2]]

else:return []


声明:
若非注明,本站文章源于互联网收集整理和网友分享发布,如有侵权,请联系站长处理。
文章名称:python怎么写区间函数 python编程怎么表示区间
文章链接:http://www.7966.org/post/15565.html
转载请注明出处

喜欢 (0)