Напишите функцию поиска самой длинной цепочки из подряд идущих одинаковых элементов в массиве - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д