蓝桥杯 算法提高 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)

先存起来排序

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

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

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

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

相关推荐
米芝鱼1 分钟前
Unity自定义按钮
算法·ui·unity·游戏引擎·编辑器扩展
野蛮人6号4 分钟前
力扣热题100道,内容和力扣官方稍有不同,记录了本人的一些独特的解法
算法·leetcode
米芝鱼4 分钟前
Unity自定义TextImage,鼠标悬浮显示信息
算法·ui·unity·编辑器·游戏引擎·图形渲染
acethanlic16 分钟前
使用Ruff进行Python代码Format、lint和fix
python
codists18 分钟前
在 Pycharm 中 debug Scrapy 项目
python
Pyeako19 分钟前
操作HTML网页(PyCharm版)
爬虫·python·html
Tisfy21 分钟前
LeetCode 1925.统计平方和三元组的数目:两层循环枚举
算法·leetcode·职场和发展
AI科技星22 分钟前
伟大的跨越:从超距作用到时空运动——牛顿与张祥前引力场方程的终极对比
开发语言·数据结构·经验分享·线性代数·算法
清静诗意25 分钟前
Python 异步编程与 Gevent 实战指南
python·协程·gevent
电摇小人30 分钟前
类欧几里得算法来了!!(C++版)
算法·类欧几里得