我试图找到2个数字范围的交集,比如说......
范围A从10到100, 范围B为60至70
如果没有编写if语句的负载来计算两个范围的交集,是否有一种简单的方法,所以在这个例子中它将是10。
谢谢,
答案 0 :(得分:31)
如果您拥有或生成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));
答案 1 :(得分:3)
您可以将此方法用于此目的:
NSRange NSIntersectionRange (
NSRange range1,
NSRange range2
);
您可以在此处找到所有信息: