Mir*_*Lcl 2 javascript algorithm math intersection
我试图找到两个范围(int值)和(如果存在)之间的交集返回一个包含交集的开始和结束的数组
例
range 1 : 2,5
range 2 : 4,7
result : 4,5
Run Code Online (Sandbox Code Playgroud)
我发现了几个关于数组之间交叉的其他主题,但没有人帮助我找到确切的交集(我刚刚发现了一个有用的函数,如果交集存在但是没有告诉交叉点是什么,则返回'true')
我在alghoritms非常糟糕,所以我发现了一些问题,我真的很感激一个提示
谢谢
Pau*_*aul 12
这只是一些基本逻辑.
struct range
int start , end
range intersection(range a , range b)
//get the range with the smaller starting point (min) and greater start (max)
range min = (a.start < b.start ? a : b)
range max = (min == a ? b : a)
//min ends before max starts -> no intersection
if min.end < max.start
return null //the ranges don't intersect
return range(max.start , (min.end < max.end ? min.end : max.end))
Run Code Online (Sandbox Code Playgroud)