蓝桥杯 算法提高 ADV-1162 阴谋 python AC

keyword:数组、排序

python 复制代码
n = int(input())
d = {}
for _ in range(n):
    a, b = map(int, input().split())
    if (a in d and d[a] < b) or a not in d:
        d[a] = b
d = sorted(d.items(), key=lambda x: x[0])
ans = 0
l, r = d[0][0], d[0][1]
for i, j in d[1:]:
    if i <= r:
        if j > r:
            r = j
    else:
        ans += r - l
        l, r = i, j
ans += r - l
print(ans)

先存起来排序

每种情况分别判断下一段区间:

--下一段左区间在当前区间内,合并两段区间,更新右区间为两段最大的右区间

--下一段左区间在当前区间外,把当前区间长度累加到变量中,更新左右区间为下一段左右区间

坑点是题目说左闭右闭,实际上是左闭右开

相关推荐
南宫生6 分钟前
力扣每日一题【算法学习day.130】
java·学习·算法·leetcode
柠石榴7 分钟前
【练习】【类似于子集问题】力扣491. 非递减子序列/递增子序列
c++·算法·leetcode·回溯
干饭高手11 分钟前
Day9,Hot100(图论)
python·leetcode·图论
!!!52516 分钟前
Java实现斗地主-做牌以及对牌排序
java·算法
honghongstand17 分钟前
代码随想录D52-53 图论 Python
开发语言·python·图论
sjsjs1122 分钟前
【数据结构-并查集】力扣1722. 执行交换操作后的最小汉明距离
数据结构·算法·leetcode
程序媛-徐师姐34 分钟前
基于 Python Django 的校园互助平台(附源码,文档)
开发语言·python·django·校园互助·校园互助平台
CoderIsArt34 分钟前
生成一个立方体贴图(Cube Map)
算法·sharpgl
且听风吟ayan40 分钟前
leetcode day20 滑动窗口209+904
算法·leetcode·c#
m0_6759882340 分钟前
Leetcode350:两个数组的交集 II
算法·leetcode·数组·哈希表·python3