using System.Collections.Generic;
public static void Main()
Console.WriteLine("Return duplicate character count for Better Bigger (only the chars that have frequency > 1)");
string input = "Better Bigger";
Dictionary<char, int> dict = CountDuplicateCharacters(input);
Console.WriteLine("CountDuplicateCharacters1 ==> ");
foreach(var (key, value) in dict)
Console.WriteLine("Char:" + key.ToString() + " Value: " + value);
Dictionary<char, int> dict2 = CountDuplicateCharacters2(input);
Console.WriteLine("CountDuplicateCharacters2 ==> ");
foreach(var (key, value) in dict2)
Console.WriteLine("Char:" + key.ToString() + " Value: " + value);
public static Dictionary<char, int> CountDuplicateCharacters(string input)
Dictionary<char, int> dict = new Dictionary<char, int>();
if (!dict.ContainsKey(c))
public static Dictionary<char, int> CountDuplicateCharacters2(string input)
return input.GroupBy(g => g)
.Where(g => g.Count() > 1)
.ToDictionary(g => g.Key, g => g.Count());