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

先存起来排序

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

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

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

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

相关推荐
eagle_Annie几秒前
Python/torch/深度学习——Miniforge+uv环境安装
python·深度学习·uv
OPEN-F12 分钟前
Python进阶教程:Web开发入门(Flask)
开发语言·python
zander25816 分钟前
LeetCode 198. 打家劫舍
算法·leetcode·深度优先
for_ever_love__20 分钟前
python基础语法学习: 类型注解
开发语言·python·学习
吃着火锅x唱着歌23 分钟前
LeetCode 648.单词替换
算法·leetcode·职场和发展
王志来1379447300839 分钟前
聚焦五大核心场景:工控服务器机箱平台的垂直深耕之路
运维·服务器·python
一只积极向上的小咸鱼40 分钟前
分词器tokenizer
算法·llm
zmzb01031 小时前
Python课后习题训练记录Day193
开发语言·python
卷无止境1 小时前
LiteLLM 全面解析开源AI网关如何统一管理百余种大模型
后端·python
Elsa️7461 小时前
leetcode 14.最长公共前缀
算法·leetcode·职场和发展