计算数组中增加的元素

时间:2016-12-04 23:04:28

标签: java arrays

我试图计算随机生成的数组MOODS中连续增加的元素中最长的一串。此代码总是返回少于正确的代码。

    int maxDays = 0;
    int days = 0;
    for (int i = 0; i < MOODS.size() - 1; i++) {
        if (MOODS.get(i + 1) > MOODS.get(i)) {
            days += 1;
        if(days>maxDays){
            maxDays=days;
        }
        } else {
            days = 0;
        }

    }
    return maxDays;
}

1 个答案:

答案 0 :(得分:5)

您将始终至少有一个增加的字符串序列,长度为1.只需将天数更改为1即可。

int maxDays = Math.min(1, MOODS.size());
int days = 1;
for (int i = 0; i < MOODS.size() - 1; i++) {
    if (MOODS.get(i + 1) > MOODS.get(i)) {
        days += 1;
        if (days>maxDays){
            maxDays=days;
        }
    } else {
        days = 1;
    }
}
return maxDays;