当前位置: 首页 > news >正文

区间交集:区间选点

区间交集:区间选点

区间选点

www.acwing.com/problem/content/907/

在这里插入图片描述

  1. 可以参考区间合并的思路,区间合并是求并集,本题是求交集

  2. 正确性:新的点应该尽可能的占有更多的区间,那么就是求重叠最多的地方

  3. 实现角度:

    1. 如何记录重叠
    2. 新加点后如何识别占有的区间
  4. 类似于区间合并,但是每次都是收缩,就能求出一段交集了

import java.util.*;public class Main {static final int N = 100010;static Pair[] p = new Pair[N];static int n;static class Pair implements Comparable<Pair> {int l, r;public Pair(int l, int r) {this.l = l;this.r = r;}@Overridepublic int compareTo(Pair o) {if (o.l == l) {return r - o.r;}return l - o.l;}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();int l, r;for (int i = 0; i < n; i++) {l = sc.nextInt();r = sc.nextInt();p[i] = new Pair(l, r);}Arrays.sort(p, 0, n);l = Integer.MAX_VALUE;r = Integer.MIN_VALUE;int res = 0;for (int i = 0; i < n; i++) {if (r < p[i].l) {res++;l = p[i].l;r = p[i].r;} else {l = p[i].l;r = Math.min(r, p[i].r);}}System.out.println(res);}
}
http://www.dtcms.com/a/251291.html

相关文章:

  • LangGraph--Agent常见的模式2(并行、数据路由)
  • PaddleOCR项目实战(3):SpringBoot服务开发之全局异常处理
  • Appium+python自动化(二十四) - 元素等待
  • Spark简介脑图
  • 浏览器的事件循环和NodeJS的事件循环有什么区别
  • 【Erdas实验教程】023:遥感图像辐射增强(直方图匹配)
  • LangChain框架:AI应用开发利器
  • 最新推荐Python学习图书20本(引进版)
  • AUTOSAR Adaptive系统如何进行时间同步与延迟分析?
  • 软件设计模式入门
  • 一款完美适配mobile、pad、web三端的博客网站UI解决方案
  • 记录一次 Oracle DG 异常停库问题解决过程
  • Spring MVC 会话管理实践教程:HttpSession 深入应用
  • git 开源平台网站推荐 (2025-06 更新)
  • (十六)GRU 与 LSTM 的门控奥秘:长期依赖捕捉中的遗忘 - 更新机制对比
  • 数据治理域——数据应用设计
  • stm32 f103c8t6仿真 串口收发测试
  • 《寿康宝鉴》:欲海迷航中的修身指南
  • pythonA股实时数据分析(进阶版)
  • 幻休 v3.0.02 | AI趣味呼吸 助眠音乐 冥想音频
  • MFE微前端高级版:Angular + Module Federation + webpack + 路由(Route way)完整示例
  • webpack+vite前端构建工具 - 1为什么要构建工具 2webpack基础配置
  • Elastic Search 学习笔记
  • 【大厂机试题多种解法笔记】查找单入口空闲区域
  • Mybatis-动态SQL、 <if>、<where>
  • UE5 仿 鸣潮人物渲染
  • React-router 多类型历史记录栈
  • react小白学习快速上手
  • Django中间件讲解
  • Python小酷库系列:Python中的JSON工具库(2)