关于判定闭合区间

最近在写一个电厂的计算类app,其中有一个区间计算,让智商捉急的我想了好久,虽然写出来了,但是都是泪啊,直接上代码


关于判定闭合区间_第1张图片
基本思路

基本思路如上图,代码如下:

NSMutableArray *maxArr = [[NSMutableArray alloc]init];

NSMutableArray *minArr = [[NSMutableArray alloc]init];

for (M_Qnet *model in self.qnetArray) {

[maxArr addObject:model.maxvalue];

[minArr addObject:model.minvalue];

}

//保存最小值以及最小值的index

float min = [minArr.firstObject floatValue];

int minIndex = 0;

//保存最大值以及最大值的index

float max = [maxArr.firstObject floatValue];

int maxIndex = 0;

for (int i = 0; i < minArr.count; i ++) {

float numOfMin = [minArr[i] floatValue];

float numOfMax = [maxArr[i] floatValue];

if (numOfMin < min) {

min = numOfMin;

minIndex = i;

}

if (numOfMax > max) {

max = numOfMax;

maxIndex = i;

}

}

NSLog(@"最小值:%.2f  最大值:%.2f",min,max);

float location = [maxArr[minIndex] floatValue];

for (int i = 0; i < minArr.count; i ++) {

for (int j = 0; j < minArr.count; j ++) {

//如果判断条件是自定义的改这里的符号就可以

if ([minArr[j] floatValue] > min && [minArr[j] floatValue] <= location && [maxArr[j] floatValue] > location) {

location = [maxArr[j] floatValue];

break;

}

}

}

if (location >= max) {

NSLog(@"是连续区间");

return YES;

}else

{

NSLog(@"不是连续的区间");

return NO;

}

其实不算难,但是由于计算指标过多影响判断,没办法准确的去确定自己的需求和方法,长记性

你可能感兴趣的:(关于判定闭合区间)