コード例 #1
0
ファイル: WordLearner.cs プロジェクト: cccunimportant/wd
    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);
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    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 void Main(string[] args)
    {
        CountMap <int> cm = new CountMap <int>();

        cm.Add(2);
        cm.Add(2);
        Console.WriteLine("count is : " + cm.Get(2));
        cm.Remove(2);
        Console.WriteLine("count is : " + cm.Get(2));
        cm.Remove(2);
        Console.WriteLine("count is : " + cm.Get(2));
    }
コード例 #5
0
ファイル: WordLearner.cs プロジェクト: cccunimportant/wd
 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;
             }
         }
     }
 }
コード例 #6
0
    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;
            }
        }
    }
コード例 #7
0
 public static List <Idol> GetMyIdols()
 {
     return(Idols
            .Where(i => CountMap.ContainsKey(i.Id))
            .SelectMany(i => Enumerable.Repeat(i, CountMap[i.Id])).ToList());
 }