Найти самую длинную последовательность 0 в массиве

Рейтинг: 0Ответов: 1Опубликовано: 22.10.2014

Дан массив. Найти самую длинную последовательность подряд идущих элементов массива =0, посчитать их количество, узнать индекс первого 0 в этой последовательности.

Напр.: 9 10 8 0 0 3 5 6 0 0 0 1 3 ответом будет 3 и 9 (элемент).

Что я делаю не так?

Считает только количество первой последовательности нулей. К тому же я решила сначала разобраться с нахождением верной последовательности, поэтому пока не считала индекс:

    public static void main(String[] args)          
    {   int s=0;//счетчик сколько нулей подряд
        int k=0;//количество нулей подряд
        int x[] = {2, 2, 0, 0, 0, 5, 1,  0, 0, 0, 0} ;
         k=s;
        {s=0;

            for( int i=0; i<x.length; i++)

               if(x[i]==0)
                s=s+1;
                else
                    if(s>k)
                        k=s;
        System.out.print(k);
        }
    }
}

Ответы

▲ 2

@liliya, внутри if (x[i] == 0) { ... Вам нужен цикл, который считает идущие подряд нули (и одновременно меняет i), ну а потом анализ его параметров и запоминание максимума вместе с его начальным индексом.