问题分析:
(1)先把数据整理一下,使a < b。
(2)贪心思想解决,以 线段末尾点b为关键字,进行排序。
(3)以第一个线段为开始,如果后续的线段的开始点,大于等于前一个线段的结束点,则计算器加一,
并更新,新的末尾点。依次遍历结束。
"""
def notRepeatline(nums, n):
res = []
count = 1
for num in nums:
if num[0] > num[1]:
res.append(num[::-1])
else:
res.append(num)
res = sorted(res, key= lambda x : x[1]) # 排序
temp = res[0][1]
for data in res:
if temp <= data[0]:
count += 1
temp = data[1]
return count
if __name__ == '__main__':
n = 3
nums = [[6,3], [1,3], [2,5]]
result = notRepeatline(nums, n)
print(result)