如果情况1:range1是(5,10),range2是(8,0),则应返回true。 如果情况2:range1是(5,10),range2是(5,4),则应返回true。 如果情况3:如果range1是(5,10),range2是(14,20),则应返回true。 如何实现一个函数,对所有情况都返回true。 我想检查一个范围是否与另一个范围相交或完全在其中。
在 Swift 语言中,Range 类型提供了 overlaps 方法。如果你需要使用 NSRange 类型,可以这样写: NSIntersectionRange(range1, range2).length > 0
NSRange(8,0)
是一个空的范围,它与任何东西都不重叠。 - Martin R8,0
明显与(5,10)
相交。 - rmaddyNSRange(location:8,length:0)
描述了满足8 <= x <8 + 0
的整数x
,即一个空范围。NSRange(location:8,length:0)
和NSRange(location:5,length:10)
没有共同元素。 - Martin R