美文网首页
关于判定闭合区间

关于判定闭合区间

作者: 小龙是只猫 | 来源:发表于2016-12-13 11:35 被阅读37次

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


    基本思路

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

    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;

    }

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

    相关文章

      网友评论

          本文标题:关于判定闭合区间

          本文链接:https://www.haomeiwen.com/subject/mgpolttx.html