我试图找到 2 个数字范围的交集,例如...
范围 A 是从 10 到 100,范围 B 是从 60 到 70
有没有一种简单的方法,无需编写大量 if 语句来计算两个范围的交集,因此在本例中为 10。
谢谢,
我试图找到 2 个数字范围的交集,例如...
范围 A 是从 10 到 100,范围 B 是从 60 到 70
有没有一种简单的方法,无需编写大量 if 语句来计算两个范围的交集,因此在本例中为 10。
谢谢,
如果您拥有或制作NSRange
对象,则NSIntersectionRange函数将为您执行此操作。只要确保在没有交叉点时检查它返回的内容。
NSRange a = NSMakeRange(10, 90);
NSRange b = NSMakeRange(60, 10);
NSRange intersection = NSIntersectionRange(a, b);
if (intersection.length <= 0)
NSLog(@"Ranges do not intersect");
else
NSLog(@"Intersection = %@", NSStringFromRange(intersection));
您可以为此目的使用此方法:
NSRange NSIntersectionRange (
NSRange range1,
NSRange range2
);
您可以在这里找到所有信息: