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

先存起来排序

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

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

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

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

相关推荐
Sylvia33.几秒前
篮球数据API的技术架构与工程实践:基于火星数据WebSocket实时推送体系
java·python·websocket·网络协议·架构
Hi李耶15 分钟前
【LeetCode】15.三数之和
java·算法·leetcode
DogDaoDao30 分钟前
【第10篇】Python 异常处理与调试入门
python·深度学习·ai·程序员·大模型·异常处理与调试
程序员雷欧43 分钟前
Java 反射深度解析:从原理到源码的全面剖析
java·开发语言·python
rannn_1111 小时前
【力扣hot100】链表专题|21、2、19、24、92、25
java·数据结构·算法·leetcode·链表·开发
我的xiaodoujiao1 小时前
快速学习Python基础知识详细图文教程18--多线程
开发语言·python·学习·测试工具
SNAKEpc121381 小时前
OpenGL(十五)- 着色器语言GLSL
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
AI服务老曹1 小时前
AI视频分析API完整流程:设备、算法与告警接口接入指南
人工智能·算法·音视频
鹿角片ljp1 小时前
LeetCode 21. 合并两个有序链表
算法·leetcode·链表
Rabitebla2 小时前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list