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

先存起来排序

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

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

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

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

相关推荐
大游小游之老游5 小时前
Python中如何实现一个程序运行时,调用另一文件中的函数
python
mantch5 小时前
个人 LLM 接口服务项目:一个简洁的 AI 入口
人工智能·python·llm
Swift社区5 小时前
LeetCode 465 最优账单平衡
算法·leetcode·职场和发展
聆风吟º5 小时前
【数据结构手札】空间复杂度详解:概念 | 习题
java·数据结构·算法
weixin_445054725 小时前
力扣热题51
c++·python·算法·leetcode
地平线开发者5 小时前
linux 常见稳定性问题分析方法
算法·自动驾驶
朱朱没烦恼yeye6 小时前
java基础学习
java·python·学习
s砚山s6 小时前
代码随想录刷题——二叉树篇(九)
算法
地平线开发者6 小时前
大模型常见量化方法简介
算法·自动驾驶
databook6 小时前
数据可视化五大黄金原则:让你的图表“会说话”
python·数据分析·数据可视化