Friday, July 18, 2014

Find the frequency of a word in a book

This updated information has been further expanded upon on my new website. You can find the updated details here: https://k5kc.com/cs/algorithms/find-frequency-of-a-word-in-a-book/.

Problem

Design a method to find the frequency of occurrences of any given word in a book.

Solution

Just scan the word, trim it and put in hashtable. Now, when searching lower case it and search it.

Hashtable<String, Integer> setupDictionary(String[] book) {
    Hashtable<String, Integer> table = new Hashtable<String, Integer>();
    for (String word : book) {
        word = word.toLowerCase();
        if (word.trim() != "") {
            if (!table.containsKey(word))
                table.put(word, 0);
            table.put(word, table.get(word) + 1);
        }
    }
    return table;
}
 
int getFrequency(Hashtable<String, Integer> table, String word) {
    if (table == null || word == null)
        return -1;
    word = word.toLowerCase();
    if (table.containsKey(word)) {
        return table.get(word);
    }
    return 0;
}

References

0 comments:

Post a Comment