测试两个范围是否重叠的最有效方法是什么?

2024-01-20

给定两个包含范围 [x1:x2] 和 [y1:y2],其中x1 ≤ x2 and y1 ≤ y2,测试两个范围是否重叠的最有效方法是什么?

一个简单的实现如下:

bool testOverlap(int x1, int x2, int y1, int y2) {
  return (x1 >= y1 && x1 <= y2) ||
         (x2 >= y1 && x2 <= y2) ||
         (y1 >= x1 && y1 <= x2) ||
         (y2 >= x1 && y2 <= x2);
}

但我希望有更有效的方法来计算它。

就最少的操作而言,哪种方法最有效?


范围重叠意味着什么?这意味着存在一些数字 C 在两个范围内,即

x1 <= C <= x2

and

y1 <= C <= y2

为了避免混淆,考虑范围是: [x1:x2] 和 [y1:y2]

现在,如果我们允许假设范围格式良好(使得 x1

x1 <= y2 && y1 <= x2

OR

(开始 = 开始)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试两个范围是否重叠的最有效方法是什么? 的相关文章

  • XPath 和 Regexp 哪个更快?

    我正在为 firefox 制作一个附加组件 它使用 ajax 加载一个 html 页面 附加组件有它的 XUL 面板 现在 我没有寻找创建document对象并将ajax请求内容放入其中 然后使用xPath找到我需要的内容 相反 我加载内容
  • 为什么 pgAdmin 4 这么慢?

    postgreSQL 的 pgAdmin 4 GUI 非常慢 即使扩展服务器树或数据库树也需要花费太多时间 它们各自花费了近 30 秒的时间来展开 创建新数据库或表时它也会挂起 即使加载后 创建和保存新数据库也需要一分多钟的时间 几乎每次我
  • 数据集是否应该在企业级 Web 应用程序中使用?

    因此 我之前的一个项目中有一位架构师反对数据集 他讨厌它们 并说它们在网络应用程序中没有地位 特别是在拥有大量流量的网络应用程序中 我注意到在我接管的许多代码实例中数据集的使用相当频繁 他们真的那么糟糕 性能杀手吗 我是否应该考虑删除大量使
  • 如何使这个自定义工作表初始化更快?

    Summary 这个问题在某种程度上是这个问题的后续 如何从索引实现列自命名 https stackoverflow com questions 5160001 how to implement column self naming fro
  • 为什么调用指定命名空间的函数会更慢?

    我认为指定我给出的命名空间R要做的工作更少 但我可能是错的 library microbenchmark gt microbenchmark unique default c 1 1 10 base unique default c 1 1
  • servicestack 自托管服务使用分块编码 - 是无缓冲的吗?

    我正在尝试通过 hello world 示例和自托管示例来学习 ServiceStack 我正在请求 JSON 内容 我在响应标头中注意到以下内容 ASP Net 项目中托管的基本服务 HTTP 1 1 200 OK Server ASP
  • ArrayLists 比数组慢 2 倍

    我正在测试一种分子动力学算法 该算法除其他外 还有一个 Particle 类 由9 双精度数组存储粒子分量 3D 环境中的速度 力和位置 我使用 5 个输入大小测试算法 Size MB Time s 0 06 0 36 fits in ca
  • SQLite3中确保唯一行的有效方法

    我在用SQLite3 http www sqlite org 在我的一个项目中 我需要确保插入表中的行相对于某些列的组合而言是唯一的 在大多数情况下 插入的行在这方面会有所不同 但如果匹配 新行必须更新 替换现有行 显而易见的解决方案是使用
  • 流畅的界面是否会显着影响 .NET 应用程序的运行时性能?

    我目前正忙于为现有技术实现一个流畅的接口 这将允许类似于以下代码片段的代码 using var directory Open Directory path to some directory using var file Open File
  • 图像调整大小性能:System.Drawing 与 System.Windows.Media

    我遇到了需要调整大量图像大小的情况 这些图像目前在文件系统上存储为 jpg 文件 但我希望稍后在项目中内存中只有 byte 源图像大小是可变的 但输出应该是 3 个不同的预定大小 应保留长宽比 用空白填充原始图像 即 将调整非常高的图像大小
  • 尝试访问工作表范围时出现 VBA 运行时错误 1004

    我正在构建一个小型 vba 脚本 该脚本将多个工作簿中的表合并到另一个工作簿的一个工作表中 当我尝试设置目标范围的值时 出现错误 wksPivotData Range wksPivotData Cells CurrentRow 1 Resi
  • CSS动画表现

    I have a small hobby project in which I try to build a matrix rain See demo http www audenaerde org matrix html这里 或这个JSF
  • Hadoop:处理大型序列化对象

    我正在开发一个应用程序来使用 Hadoop 框架处理 和合并 几个大型 java 序列化对象 顺序 GB 大小 Hadoop 存储将文件块分布在不同的主机上 但由于反序列化需要所有块都存在于单个主机上 因此它会极大地影响性能 我该如何处理这
  • Oracle 日期索引很慢。没有它查询速度快 300 倍

    我有一个 Oracle 查询 如下所示 运行时间为 10 分钟或更长时间 select r range text as duration range nvl count c call duration 0 as calls nvl SUM
  • 如何提高非持久 CGI 进程中的 Moose 性能?

    Moose http search cpan org dist Moose 是一个很棒的对象框架 问题在于 连同它的依赖项一起 它是very大的 我们的分析表明 在我们的平台上 仅加载 Moose 就会在非持久性 CGI 应用程序脚本上产生
  • 从文件中读取第n行的快速方法

    介绍 我有一个名为的 C 进程MyProcess我称之为nbLines时间 地点nbLines是一个名为的大文件的行数InputDataFile txt在其中可以找到输入数据 例如调用 MyProcess InputDataFile txt
  • Hibernate Query在系统中运行缓慢,但直接运行时速度很快

    我遇到了与本周播客中类似的问题 我们有一个使用 Hibernate 和 Sql Server 2005 的 Java 应用程序 Hibernate 正在为我们生成一个查询 该查询需要近 20 分钟才能完成 如果我们使用 show sql 进
  • 提高我的脚本性能 Google Sheets 脚本

    我创建了一个函数 每当我运行 AppendRow 脚本时 AY 列中没有点 的每一行 包含我想要的每个信息 列的数组从该表将被转移到我的主表 其中有13k rows atm 通常 每天大约有 20 40 行被粘贴到第一个工作表中 此脚本会自
  • PHP: Datetime::Diff 结果比较

    我试图比较两个日期之间的差异 但结果似乎非常错误 例如以下代码 datetime1 new DateTime 2009 10 11 datetime2 new DateTime 2009 10 13 interval datetime1 g
  • 文件系统和 Memcached 哪个缓存更快/更好?

    我认为我还不清楚 从文件或从 memcached 读取内容更快吗 为什么 Memcached 速度更快 但内存有限 HDD 很大 但 I O 速度比内存慢 你应该把memcached 最热门的东西 and 所有其他人 can go 缓存文件

随机推荐

  • 失败时漂亮打印数组

    describe Rspec do it should print arrays in a readable manner do arr 0 a 1 1 b 2 2 c 3 3 d 4 4 e 5 6 g 7 7 h 8 8 i 9 arr
  • 为什么Java编译器11使用invokevirtual来调用私有方法?

    当使用 OpenJDK 8 中的 Java 编译器编译以下代码时 调用foo 是通过一个完成的invokespecial 但是当使用 OpenJDK 11 时 invokevirtual被发射 public class Invoke pub
  • 两个java源文件的结构差异

    有没有办法找到两个java源文件的结构差异 我想找到两个java文件的结构差异 但我不知道如何开始 java中有没有用于此目的的库 更新 结构差异意味着像 它不关心空白或位置 它应该在语法上比较源 这有助于我们跟踪实际的更改 即使方法被移动
  • 安卓|使用 Retrofit2 和本地 API 进行基本身份验证

    我开始制作一个应用程序 并首先将其连接到模拟 API 现在我想将其连接到在我的 PC 上运行的 API For starters I m trying to implement the login access Since my API s
  • 在 JavaScript 中将 png/jpg 转换为 .ico

    所以我想要一个工具来生成 ico来自 jpg png 的文件 我使用以下代码从画布生成了 jpg var img c toDataURL image png document write img src 取自此画布
  • 如何更改 flutter showAboutDialog 中的文本按钮颜色?

    我正在使用showAboutDialogflutter 中的函数显示我的项目中使用的许可证 我如何坚持改变文本颜色VIEW LICENSES and CLOSE文本按钮 请参阅此图片以进行说明 这是我的代码 onTap showAboutD
  • 如何在离开和返回 HTTPS 页面时保留更改的表单内容? (适用于 HTTP)

    在文本区域中输入 更改某些内容 在提交表单之前 请离开页面 例如通过单击浏览器的后退按钮 返回编辑页面 例如 单击前进按钮 预期结果 在textarea中输入的内容应该仍然存在 实际结果 with HTTPS 所有的改变都消失了 bad w
  • MongoDB无尽查找ToListAsync

    我正在尝试从 MongoDB 集合中检索数据 但是发生了一些奇怪的事情 如果我显示 MessageBox 则数据获取有效 如果不显示 则数据获取无效 static class MongoDBController static MongoCl
  • Obj-C Cocoa 通知 NSApplicationDidResignActiveNotification

    我有一个名为 AppController h m 的类 我想在发送 NSNotificationDidResignActiveNotification 时做一些事情 所以我在AppController m中编写了这段代码 void init
  • CNN - 图像调整大小 VS 填充(是否保持纵横比?)

    虽然人们在训练 CNN 时通常倾向于简单地将任何图像调整为正方形 例如 resnet 采用 224x224 正方形图像 但这对我来说看起来很难看 尤其是当长宽比不在 1 左右时 事实上 这可能会改变基本事实 例如 专家可能给扭曲图像的标签可
  • 如何获得适用于 Android 的简单相机程序?

    我刚刚开始用 Java 编程 我需要一个简单的应用程序来显示相机 拍照并将图片数据发送到某个地方 我一直在网上搜索 试图找到一个按预期工作的好相机教程 但显然它们都需要一些我还没有的内在知识 On this https stackoverf
  • 如何对齐输入内部的文本?

    对于所有默认输入 您填写的文本从左侧开始 怎么让它从右边开始呢 Use the 文本对齐 http www w3schools com cssref pr text text align aspCSS 中的属性 input text ali
  • C++ 中的继承和模板 - 为什么继承的成员不可见?

    当一个模板公开继承另一个模板时 基公共方法不应该是可访问的吗 template
  • 如何在 php 中添加 txt 文件并创建 ZIP [重复]

    这个问题在这里已经有答案了 可能的重复 打开文件 写入文件 将文件另存为 zip 并流式传输给用户下载 https stackoverflow com questions 2286639 open file write to file sa
  • Xcode 7 GM 无法验证 git 存储库

    我可以使用 Xcode 6 毫无问题地提交到这个存储库 git 在终端中仍然可以正常工作 我可以在本地和远程提交 在 Xcode 7 中 我可以本地提交 但不能远程提交 它说身份验证失败并且无法重置用户名 它呈灰色 我的本地 git 配置文
  • Vue router - 如何根据用户角色在同一路由路径上加载多个组件?

    我有一个应用程序 用户可以以不同的角色登录 例如 seller buyer and admin 对于每个用户 我想在同一路径上显示仪表板页面 例如 http localhost 8080 dashboard然而 每个用户将在不同的 vue
  • 如何向画布元素添加简单的 onClick 事件处理程序?

    我是一名经验丰富的 Java 程序员 但大约十年来我第一次看到一些 JavaScript HTML5 的东西 我完全被什么应该是最简单的事情难住了 作为一个例子 我只想画一些东西并为其添加一个事件处理程序 我确信我在做一些愚蠢的事情 但我已
  • iPhone模拟器和Android模拟器的区别

    iPhone模拟器和Android模拟器有什么区别 我听人们说模拟器确实模拟了目标设备 但在模拟器的情况下则不然 我认为Android模拟器模仿目标设备的处理速度 内存使用情况 但模拟器不模拟设备 免责声明 我只是一名 iPhone 开发者
  • 三星“应用程序优化”功能在 3 天后杀死后台应用程序

    我们目前正在开发一款 Android 应用程序 它是一款健身追踪器应用程序 它在后台持续运行 并且在大多数设备上运行良好 但我们一直遇到应用程序在某些三星设备上完全消失的问题 经过一番调查 似乎某些三星设备具有完全自定义的 应用程序优化 功
  • 测试两个范围是否重叠的最有效方法是什么?

    给定两个包含范围 x1 x2 和 y1 y2 其中x1 x2 and y1 y2 测试两个范围是否重叠的最有效方法是什么 一个简单的实现如下 bool testOverlap int x1 int x2 int y1 int y2 retu