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

先存起来排序

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

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

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

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

相关推荐
8Qi89 分钟前
LeetCode热题100--45.跳跃游戏 II
java·算法·leetcode·贪心算法·编程
foundbug99938 分钟前
基于STM32的步进电机加减速程序设计(梯形加减速算法)
stm32·单片机·算法
L-李俊漩1 小时前
荆华密算 面试题(大模型开发)
python
北顾笙9801 小时前
day12-数据结构力扣
数据结构·算法·leetcode
小陈工1 小时前
Python Web开发入门(十):数据库迁移与版本管理——让数据库变更可控可回滚
前端·数据库·人工智能·python·sql·云原生·架构
凌波粒1 小时前
LeetCode--454.四数相加 II(哈希表)
算法·leetcode·散列表
JoshRen1 小时前
Python中的简单爬虫
爬虫·python·信息可视化
漫随流水1 小时前
c++编程:D进制的A+B(1022-PAT乙级)
数据结构·c++·算法
永远的超音速1 小时前
PyCharm性能调优避坑录大纲
python·pycharm
tankeven1 小时前
HJ159 没挡住洪水
c++·算法