2016-03-20 21 views
0

bu var:ArrayList negatif sayıların en uzun bölümünü bulun

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

Ve yapı aracılığıyla oluşturulan tüm bu verileri toplayan bir ArrayList var:

ArrayList wthrList = new ArrayList(); 

biz atalım ArrayList içinde 30 öğe. "Gün" değişkeni 1'den 30'a kadar olan değerleri alır. Ve "sıcaklık" değişkeni değerleri -30'dan 30'a (rastgele oluşturulmuş) alır. Negatif sayıların en uzun bölümünü bulmalıyım. Yani, {0, -1, -2, 3, -3, -4, -5, 3} dizileriniz varsa, cevap 3'ü alacaksınız (4'ten 6'ya kadar (-3, -4) ve -5)). Bu kod parçasına zaten sahibim, ama şimdi sıkıştım.

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

    } 
} 
+1

Tamam, gerek bu demek: 'ArrayList' yolu, jenerik sürümü' Liste '... Bu cevap yanlış – digEmAll

cevap

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

tarafından aştı. Diğer maddede satırları değiştirin, sonra işe yarayacaktır. –

+0

Bunu işaret ettiğiniz için teşekkür ederiz. –

+2

sorun değil. Düzeltme nedeniyle şimdi reddedildi. –

İlgili konular