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

先存起来排序

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

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

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

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

相关推荐
橘子汽水1682 分钟前
Leetcode 763,45 划分字母区间 跳跃游戏II
数据结构·算法·leetcode
少陽君3 分钟前
服务器服务检查报告
python
x秀x4 分钟前
sam3新手使用教程
开发语言·python
Java后端的Ai之路5 分钟前
大模型LLM评估完全指南
开发语言·人工智能·python·llm·评估
外收内放10 分钟前
Python学习记录25(基础知识终结篇)
python·学习
别动我齐刘海11 分钟前
ROS2 Jazzy + C++ 实战路线——基础学习1
c++·vscode·python·ubuntu·机器学习·自动驾驶·github
life码农18 分钟前
python框架Flask多语言配置示例
python·flask
苏离~Hack26 分钟前
SL-crawler:一个可视化配置的通用网页与 API 数据采集工具
python
小白学大数据30 分钟前
Python 小工具实战:用问财接口搭建金融数据采集器
开发语言·人工智能·python
天天喝旺仔39 分钟前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希