找到ArrayList中负数的最长部分

时间:2016-03-20 18:18:42

标签: c#

我有这个:

struct Weather {
    public int day;
    public int temperature;
    public Weather(int x, int y) {
        day = x;
        temperature = y;
    }
}

我有一个ArrayList,它收集通过struct创建的所有这些数据:

 ArrayList wthrList = new ArrayList();

让我们在ArrayList中有30个元素。 “day”变量取值为1到30.“temperature”变量取值为-30到30(由随机生成)。我需要找到负数的最长部分。这意味着如果你有一个数组{0,-1,-2,3,-3,-4,-5,3},那么你将得到答案3(从索引4到6(-3,-4)和-5))。我已经有了这段代码,但现在我被卡住了。

foreach (Weather w in wthrList) {
    if (w.temperature < 0) {

    }
}

1 个答案:

答案 0 :(得分:3)

int negCount = 0;
int maxNegCount = 0;

foreach (Weather w in wthrList)
{
    negCount    = (w.temperature < 0) ? negCount + 1 : 0;
    maxNegCount = Math.max(negCount, maxNegCount);
}