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