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

先存起来排序

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

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

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

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

相关推荐
2401_871492851 分钟前
Vue.js计算属性computed依赖追踪与副作用函数effect关联机制
jvm·数据库·python
qq_283720052 分钟前
本地大模型部署全教程:Python 低成本调用开源 AI 模型
人工智能·python·开源
2401_882273725 分钟前
SQL如何快速提取分组中最晚时间点数据_结合窗口函数实现
jvm·数据库·python
小何code5 分钟前
【Python零基础入门】第4篇:Python变量与数据类型详解
开发语言·python
Mr_pyx12 分钟前
【LeetHOT100】合并两个有序链表——Java多解法详解
算法
卷心菜狗17 分钟前
Python进阶--生成器(Generator)
python
2301_8148098624 分钟前
如何用 cookie 的 HttpOnly 与 Secure 属性防范 XSS 攻击
jvm·数据库·python
李松桃24 分钟前
实战:手刃豆瓣电影TOP250
python·爬虫实战·requests·re
yu859395825 分钟前
利用MATLAB进行木材图像去噪
开发语言·算法·matlab
m0_5150984227 分钟前
如何用 Object.keys 与 getOwnPropertyNames 遍历键名
jvm·数据库·python