using System.Collections.Generic;
public static void Main()
Console.WriteLine(MaxFruitCountOfk(new Char[]{'A', 'B', 'C', 'A', 'C'}, 2));
Console.WriteLine(MaxFruitCountOfk(new Char[]{'A', 'B', 'C', 'B', 'B', 'C'}, 2));
public static int MaxFruitCountOfk(char[] arr, int k)
var hashMap = new Dictionary<char, int>();
for(var windowEnd = 0; windowEnd < arr.Length; windowEnd++)
var rightChar = arr[windowEnd];
if(hashMap.ContainsKey(rightChar))
hashMap.Add(rightChar, 1);
var leftChar = arr[windowStart];
if(hashMap[leftChar] == 0)
hashMap.Remove(leftChar);
maxLength = Math.Max(maxLength, windowEnd - windowStart + 1);