using System.Collections.Generic;
public static void Main()
string inputText = "zf3kabxcde224lkzf3mabxc51+crsdtzf3nab=";
Dictionary<string, int> results = FindPatterns(inputText, patternLength);
public static Dictionary<string, int> FindPatterns(string inputText, int patternLength)
Dictionary<String, int> dict = new Dictionary<String, int>();
if (inputText == null || patternLength <= 0 || patternLength > inputText.Length)
for (int i = 0; i <= inputText.Length - patternLength; i++)
string subString = inputText.Substring(i, patternLength);
if (dict.ContainsKey(subString))
foreach(var item in dict.Where(kvp => kvp.Value == 1).ToList())
public static void PrintPatterns(Dictionary<string, int> dict)
Console.WriteLine("No patterns were found.");
foreach (KeyValuePair<string, int> kvp in dict)
Console.WriteLine("Pattern \"{0}\" occurred {1} times.", kvp.Key, kvp.Value);