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

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

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

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

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

textual
Листинг программы
  1. public struct Chain
  2.         {
  3.             public int element;
  4.             public int length;
  5.             public int index;
  6.         }
  7. public static Chain findMaxChain (int [] arr){
  8.         //МАКСИМАЛЬНАЯ ЦЕПОЧКА
  9.         Chain Max =new Chain();
  10.         Max.element=arr[0];
  11.         Max.length=1;
  12.         Max.index=0;
  13.         //ТЕКУЩАЯ ЦЕПОЧКА
  14.         Chain Current =new Chain();
  15.         Current.element = arr[0];
  16.         Current.length=0;
  17.         Current.index=1;
  18.  
  19.         for(int i=1;i<arr.Length;i++)
  20.         {
  21.             //Цепочка не закончилась
  22.             if (arr[i]==Current.element) { Current.length++; continue;}
  23.             //Цепочка закончилась, она больше максимальной    
  24.             if (Current.length > Max.length){Max = Current;}
  25.             //Новая цепочка пошла
  26.             Current.element = arr[i]; Current.length = 1; Current.index = i;
  27.         }
  28.         //Случай, когда последняя цепочка максимальная
  29.         if (Current.length > Max.length) { Max=Current; }
  30.         return Max;
  31.         }

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы