(算法)判断两个区间是否重叠

2023-05-16

题目:

判断两个区间是否重叠

思路:

假设区间表示为[start,end],先存在两个区间A,B.

两个区间的关系有两种:重叠与不重叠

重叠的情况有4种,两种相交,两种包含(很容易想到,此处不示意)

不重叠有两种情况:A在B前面,A在B后面

因此很容易得到判断区间重叠的方法:

1、正向判断,列出四种重叠的情况,满足其一,则重叠;

2、逆向判断,列出两种不重叠的情况,如果满足其一,则重叠;

显然第二种方法更简单。

优化正向判断:

考虑一下正向判断的四种情况,其实只要满足max(A.start,B.start)<=min(A.end,B,end),即可判断A,B重叠。(由于画图比较麻烦,这里就不示意,可以在纸上试试)

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
 
using  namespace  std;
 
typedef  struct {
     int  start;
     int  end;
}Interval;
 
bool  isOverlap_1(Interval interval1,Interval interval2){
     if (interval1.end<interval2.start || interval1.start>interval2.end)
         return  false ;
     return  true ;
}
 
bool  isOverlap_2(Interval interval1,Interval interval2){
     if (max(interval1.start,interval2.start)<=min(interval1.end,interval2.end))
         return  true ;
     return  false ;
}
 
int  main()
{
     Interval interval1,interval2;
     while (1){
         if (cin>>interval1.start && cin>>interval1.end && cin>>interval2.start && cin>>interval2.end){
             if (isOverlap_2(interval1,interval2))
                 cout<< "Overlap" <<endl;
             else
                 cout<< "Non-overlap" <<endl;
         }
 
     }
     return  0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(算法)判断两个区间是否重叠 的相关文章

  • lwip select函数分析和优化

    我的设备有两个网卡 xff0c 我需要开两路socket xff0c 一路UDP xff0c 一路TCP xff0c lwip的版本是1 4 1的 xff0c 实际运行发现 xff0c UDP 运行一段时间以后挂了 xff0c 通信挂了 x
  • curl并发 c++

    QQ技术交流群 xff1a 386476712
  • ROS组网

    参考ROS实战之ROS组网的搭建 ROS ROS命令 xff08 三 xff09 ROS 信息命令 其实整个过程比想象中简单的多 首先保证所有运行 ROS 的机器 xff08 no matter it is a raspberry or a
  • Ubuntu16.04下完美切换Python版本

    转载自http blog csdn net u013894834 article details 75305752 Ubuntu16 04下完美切换Python版本 xff08 亲测 xff09 对于ubuntu 16 04 xff0c 由
  • ArduPilot-sitl中的一些操作记录

    ArduPilot 这么优秀的代码 提供了一套很方便的SITL仿真开发模式 在git clone代码的时候 已经将相关的东西下载下来了 问题是如何进行使用 首先要安装mavproxy 这个软件 pymavlink mavlink封装的pyt
  • 烧写自定义ArduPilot到自定义的开发板

    写在前面的话 xff1a 本篇章内容参看 怒飞垂云 的资料 将APM固件移植到自制硬件 实际操作过程中 xff0c 需要如下几个步骤 xff1a 先在ardupilot中的 waf distclean 完成清理 xff0c 主要删除了bui
  • 跨域资源共享CORS的那些事(二)

    跨域资源共享CORS的那些事 xff08 二 xff09 最近在为高性能开源API网关apisix写跨域插件 xff0c 发现该功能对协议要求要比较熟悉 xff0c 借此机会重新复习下跨域协议 xff0c 以及简要写下跨域功能的设计 文章目
  • 宅家学习,如何进行Kubernetes Ingress控制器的技术选型?

    导语 xff1a 在Kubernetes的实践 部署中 xff0c 为了解决 Pod 迁移 Node Pod 端口 域名动态分配等问题 xff0c 需要开发人员选择合适的 Ingress 解决方案 面对市场上众多Ingress产品 xff0
  • Linux下connect()函数的错误代码对应含义

    Linux下connect 函数的错误代码对应含义 windows和linux下的connect系统接口有自己的一套返回码以及返回含义 Linux EBADF xff1a 参数socket未指定一个合法的描述符ENOTSOCK 参数sock
  • git设置用户名密码

    git设置用户名密码 设置git用户名 xff0f 邮箱 span class hljs comment git span span class hljs comment config span span class hljs litera
  • 'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    python 不是内部或外部命令 xff0c 也不是可运行的程序或批处理文件 我将python安装在D盘之后 xff0c 输入python xff0c 显示如下问题 span class hljs keyword D span gt pyt
  • git pull时遇到error: cannot lock ref 'xxx': ref xxx is at (一个commitID) but expected的解决办法

    git pull时遇到error cannot lock ref xxx ref xxx is at xff08 一个commitID xff09 but expected的解决办法 在执行git pull时遇到如下错误 xff1a spa
  • tar.gz和tar.bz2解压命令

    tar gz和tar bz2解压命令 网络上下载到linux源码包主要是tar gz和tar bz2压缩格式的 xff0c 有一部分是zip 解压tar gz命令是 tar zxvf xx tar gz 解压tar bz2的命令是 tar
  • 使用VS CODE+PlantUML高效画图

    使用VS CODE 43 PlantUML高效画图 自从发现了plantuml写脚本画图的方式之后 xff0c 爱上了画图 环境 xff1a MAC 前言 本文多数内容引用自官网文档和其他人的教程 xff0c 并非本人原创 xff0c 也谈
  • CMake多工程最小实现

    背景 xff1a 最近团队的新项目开始基于CMake作为工程管理 xff0c 结合VSCode作为IDE进行开发 xff0c 一个原因当然是为了可支持跨平台 原来我们的开发环境是使用VS系列IDE进行开发 xff0c 在底层框架完全改为CM
  • c++ aggregate 'std::stringstream ss' has incomplete type and cannot be defined

    c 43 43 aggregate std stringstream ss has incomplete type and cannot be defined 这个问题是使用了stringstream这个类 xff0c 但没有包含头文件ss
  • 阿里巴巴的“达摩院”,必是一场闹剧

    阿里巴巴的 达摩院 xff0c 必是一场闹剧 今天上午 xff0c 阿里巴巴成立 达摩院 xff0c 引入顶尖科学家3年研发投入将超千亿 的文章在网上刷屏了 在我看来 xff0c 马云在挑战科技规律 xff0c 这必是一场闹剧 前几年 xf
  • 一种解耦非线性优化的高效VI-SLAM系统-Snake-SLAM

    摘要 Snake SLAM 是一种可在低功率航空设备上稳定运行的VI SLAM 自主导航系统 跟踪前端具有地图复用 闭环 重定位功能 xff0c 并支持单目 立体和 RGBD 输入 该系统通过图论算法来减少关键帧并提出一种 延时地图 的方法
  • 关于视觉三维重建colmap 一期课程,我想说点什么

    为什么开colmap这门课 2019年硕士毕业进入驭势科技从事高精度地图算法职位 xff0c 闲暇时间便开启自己在B站上分享技术的历程 xff0c 如下早期视频 xff1a 但是发完这几次视频后 xff0c 发现每次录制的时候总会遗漏自己想
  • 关于视觉重定位(VPS)的工作经验分享

    在AR领域也呆了不短时间了 xff0c 也一直在做视觉定位相关的工作 xff0c 这里分享一下有意思的工作方向 xff0c 感兴趣的可以讨论或者联系我即可 首先简单区分AR和VR的区别 xff0c VR 属于虚拟现实 xff0c 即是由实入

随机推荐

  • python调用百度地图API 实现单点沿线轨迹运动

    百度地图API 可以做很多好玩的事情 xff0c 自己闲来无事 xff0c 先是照着一些资料做了热力图 xff0c 然后借助pyqt5做了一个简单的界面 xff0c 实现gps单点沿线 xff08 行车 xff09 的轨迹 先上程序界面和效
  • python 在测绘作业中的一些小应用(与cad交互)-1

    虽然笔者已经基本上告别了本科的测绘工程专业 xff0c 但是笔者的本科同学他们在实际作业中难免会遇到一些批量化 重复性劳动问题 xff0c 如果会编程 xff0c 写上一个小脚本 xff0c 无疑会提高工作效率 下面是笔者本科同学处理测量数
  • 阴影检测(shadow detect)

    不管是无人机影像或者其它方式摄取的图像 xff0c 由于光照 xff0c 难免会存在阴影 xff0c 笔者这篇文章介绍检测阴影一种简单的方式 参考论文 xff1a 1 Damaged Building Detection in Aerial
  • Scipy 和opencv 计算凸包(convexHull)

    凸包 xff1a 在数学中 xff0c 在实向量空间 V 中的一组点 X 的凸包或凸包络是包含 X 的最小凸集 来自 Wikipedia 通俗的来说就是包围一组散点的最小凸边形 在 scipy spatial 和 opencv 分别有计算凸
  • python 两个小技巧将字典写入txt或者json 文件

    1 不用 json 包 先来看一个 Python 的奇淫技巧 i 61 100 s1 61 str i 这样输出的不会是 100 xff0c 毫不疑问 但是 s1 61 43 str i 43 这样输出的结果 61 str i 于是看这一条
  • 时间序列预测——ARIMA模型

    文章链接 xff1a 时间序列预测 Prophet模型 https blog csdn net beiye article details 123353123 spm 61 1001 2014 3001 5502 SPSS软件实操 ARIM
  • 基本矩阵F和本质矩阵E的详细推导

    基本矩阵F E在计算机视觉中是提纯匹配点 恢复相机位姿的一个法宝 但是它是如何得到的 下面笔者做其简单的推导 如图下图 xff0c 两视几何图 其中C和C 分别代表左 右摄影中心 xff0c x和x 代表同名像点 xff0c e和e 代表极
  • [ubuntu]安装并使用python 3.6及与2.7的切换

    当前使用ubuntu14 04 1 添加python3 6安装包 xff0c 并安装 xff08 也可以去官网下载安装包 xff09 linux 报错E Unable To Locate Package Software propertie
  • Python + Requests 模拟登陆(含验证码)

    其实模拟登陆非常简单 xff0c 只要在打开网站的同时提交数据就可以了 下面通过登陆超星网来举例说明如何一步步实现模拟登陆 1 获取需要提交的数据 使用chrome的Network或者fiddler可以很轻易的得到我们想要的数据 xff0c
  • Cmake实现递归cpp和h

    为解决获取编译链所有C 43 43 源文件和头文件 Cmake实现递归目录 编程心得 拾随小笺
  • 鉴权 前后端常见的几种鉴权方式

    https juejin cn post 6844903927100473357 鉴权 xff08 authentication xff09 是指验证用户是否拥有访问系统的权利 传统的鉴权是通过密码来验证的 这种方式的前提是 xff0c 每
  • curl指令模拟postman发json数据,发本地文件

    菜鸟curl指令介绍 xff1a https www coonote com linux linux cmd curl html post formdata多个参数 多个参数可以使用 F进行串接 curl span class token
  • 最全的HTTP(get post)请求示例, 包括post模拟get请求

    public class HttpRequest private static SimpleDateFormat sdf 61 new SimpleDateFormat 34 yyyyMMddHHmmss 34 private static
  • python爬虫——模拟登陆

    参考链接 xff1a https blog csdn net weixin 39875941 article details 109878457 模拟登陆 Python网络爬虫应用十分广泛 xff0c 但是有些网页需要用户登陆后才能获取到信
  • vector数组 传递 引用 指针 参数

    一 一维 span class hljs stl container span class hljs built in vector span lt span class hljs keyword int span gt span vec
  • Oracle # 字符串匹配函数(Oracle、SQLSERVER、Excel)

    引言 xff1a 当数据库设置字段的时候 xff0c 会设置1表XXX xff1b 0表示XXX 查询的时候怎么显示汉字呢 xff1f Oracle数据库 xff1a 普通查询数据 xff1a select from U ORANGEZAT
  • 时间序列预测——Prophet模型

    文章链接 xff1a 时间序列预测 ARIMA模型 https blog csdn net beiye article details 123317316 spm 61 1001 2014 3001 5502 1 Propht模型概述 Pr
  • 机器人导航——路径跟踪

    要完成一套完整的机器人路径规划 xff0c 并完成其物理实验并非一件简单的事情 参考 xff1a http wenku baidu com link url 61 n11mP6EDlM78NZYZ4yQYXzmzPeBV6BeLNOUjIv
  • python 读取txt出现\xef\xbb\xbf…的问题

    用python读取txt文件 xff0c 文件的内容是一列数如下 xff1a 1883 1886 1900 1900 1897 1897 1897 1897 1906 1917 1910 1910 但是读取的时候第一个元素为 xef xbb
  • (算法)判断两个区间是否重叠

    题目 xff1a 判断两个区间是否重叠 思路 xff1a 假设区间表示为 start end xff0c 先存在两个区间A B 两个区间的关系有两种 xff1a 重叠与不重叠 重叠的情况有4种 xff0c 两种相交 xff0c 两种包含 x