2016-03-20 6 views
0

における負の数の最も長い部分を探す:私はこれ持ってArrayListの

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

を、私は構造体で作成したすべてのこのデータを収集ArrayListを持っている:

ArrayList wthrList = new ArrayList(); 

することは、我々が持ってみましょうArrayList内の30個の要素。 "day"変数は1〜30の値をとります。また、 "temperature"変数は-30〜30の値をとります(ランダムによって生成されます)。私は負の数のうち最も長い部分を見つける必要があります。 {0、-1、-2、3、-3、-4、-5、3}の配列を持つ場合は、3から4までの答えが得られます(-3、-4および-5))。私はすでにコードのこの部分を持っていますが、今私は立ち往生しています。

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

    } 
} 
+1

[OK]を、私はダメこれを言う: 'ArrayList'が途中そのジェネリックバージョン'一覧 '...この答えが間違っている – digEmAll

答えて

3
int negCount = 0; 
int maxNegCount = 0; 

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

によって突破されています。 else節の行を入れ替えると、うまくいきます。 –

+0

それを指摘していただきありがとうございます。 –

+2

問題ありません。修正されたために今upvoted。 –

関連する問題