Напишите функцию поиска самой длинной цепочки из подряд идущих одинаковых элементов в массиве - C#

Узнай цену своей работы

Формулировка задачи:

Напишите функцию поиска самой длинной цепочки из подряд идущих одинаковых элементов в массиве

Решение задачи: «Напишите функцию поиска самой длинной цепочки из подряд идущих одинаковых элементов в массиве»

textual
Листинг программы
public struct Chain
        {
            public int element;
            public int length;
            public int index;
        }
public static Chain findMaxChain (int [] arr){
        //МАКСИМАЛЬНАЯ ЦЕПОЧКА
        Chain Max =new Chain();
        Max.element=arr[0];
        Max.length=1;
        Max.index=0;
        //ТЕКУЩАЯ ЦЕПОЧКА
        Chain Current =new Chain();
        Current.element = arr[0];
        Current.length=0;
        Current.index=1;
 
        for(int i=1;i<arr.Length;i++)
        {
            //Цепочка не закончилась
            if (arr[i]==Current.element) { Current.length++; continue;}
            //Цепочка закончилась, она больше максимальной     
            if (Current.length > Max.length){Max = Current;}
            //Новая цепочка пошла
            Current.element = arr[i]; Current.length = 1; Current.index = i; 
        }
        //Случай, когда последняя цепочка максимальная
        if (Current.length > Max.length) { Max=Current; }
        return Max;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы