找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 86|回复: 2

取得2个区间的交集

[复制链接]
发表于 2024-12-30 13:50:29 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
本帖最后由 tlwh163 于 2024-12-31 14:29 编辑

在群里问了 好像是没有相关的API可以调用 自己手搓。。。


  1. ''区间样式:[起点,长度],使用[a,b]返回同样式的交集        '取得2个区间([a,b]和[c,d])的交集
  2. Function GetInterSection(ByRef a As Long, ByRef b As Long, ByVal c As Long, ByVal d As Long) As Boolean
  3.     If (b Or d) <= 0 Then Exit Function                 '长度不允许小于等于0
  4.     Dim aa As Long, bb As Long: aa = a : bb = (a + b)
  5.     If aa < c Then aa = c                               'max(a,c)
  6.     If bb > (c + d) Then bb = (c + d)                   'min(b,d)
  7.     If aa <= (bb - 1) Then                              '有交集: max(a,c)<=min(b,d)
  8.         a = aa
  9.         b = bb - aa
  10.         GetInterSection = true
  11.     End If
  12. End Function
复制代码


文字总是对不齐 恼火、、、
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层
“Intersection”是一个单词,而不是“Inter Section”
回复 赞! 靠!

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 tlwh163 于 2025-1-2 12:56 编辑
0xAA55 发表于 2025-1-1 13:36
“Intersection”是一个单词,而不是“Inter Section”


你说的对 不过单词太长了 我是想方便看清楚重点
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2025-1-7 07:58 , Processed in 0.033195 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表