public static void Main2(string[] args) { CountMap <int> cm = new CountMap <int>(); cm.add(2); cm.add(2); cm.remove(2); Console.WriteLine("count is : " + cm.get(2)); Console.WriteLine("count is : " + cm.get(3)); }
public static bool isAnagram(char[] str1, char[] str2) { int size1 = str1.Length; int size2 = str2.Length; if (size1 != size2) { return(false); } CountMap <char> cm = new CountMap <char>(); foreach (char ch in str1) { cm.add(ch); } foreach (char ch in str2) { if (cm.containsKey(ch)) { cm.remove(ch); } else { return(false); } } return(cm.size() == 0); }
public List <String> getWordList() { List <String> words = new List <String>(); CountMap rfreeMap = new CountMap(); CountMap lfreeMap = new CountMap(); foreach (String str in countMap.Keys) { String head = str.Substring(0, str.Length - 1); String tail = str.Substring(1, str.Length - 1); rfreeMap.add(head); lfreeMap.add(tail); } foreach (String str in countMap.Keys) { if (rfreeMap.ContainsKey(str) && lfreeMap.ContainsKey(str)) { if (rfreeMap[str] >= 2 && lfreeMap[str] >= 2) { words.Add(lfreeMap[str] + "(" + str + ")" + rfreeMap[str]); } } } return(words); }
public void count(String text, CountMap countMap) { for (int i = 0; i < text.Length; i++) { String substr = text.Substring(i, Math.Min(text.Length - i, 6)); for (int len = 2; len < substr.Length; len++) { char ch = substr[len - 1]; String head = substr.Substring(0, len); countMap.add(head); if (ch >= 0 && ch <= 127 || ChineseSymbols.IndexOf(ch) >= 0) { break; } } } }
public static void printFirstRepeating(int[] arr) { int i; int size = arr.Length; CountMap <int> hs = new CountMap <int>(); for (i = 0; i < size; i++) { hs.add(arr[i]); } for (i = 0; i < size; i++) { hs.remove(arr[i]); if (hs.containsKey(arr[i])) { Console.WriteLine("First Repeating number is : " + arr[i]); return; } } }