Monday, October 5, 2015

[19.8] Find the frequency of occurrences of any given word in a book

1. Example

HahsMap 
key => toLowerCase, trim()
// validate the input
 if (book == null || book.length == 0 || word == null) 
 return -1;

"Book description is date ,Book description is date , is date ,"


"book" , 2
"description", 2
"date", 3
"is", 3



// validate the input
 if (book == null || book.length == 0 || word == null) 
 return -1;

str = str.toLowerCase();
if ( str.trim() != "" )
{

2. Implementation


// Solution: Single query
// Time:O(n)
Count the number of times a word appears



public int getWordFrequency (String[] book, String word)
{




     // validate the input
     if (book == null || book.length == 0 || word == null)
         return -1;




    HAshMap map =  wordFrequency(book);
    word = word.toLowerCase;
    if (   map.containsKey(word) )
    {
           return map.get(word);
    }




     return 0;

 

}
//public void WordFrequencyTable(String[] book)
public HashMap wordFrequency(String[] book)
{



     HashMap  map = new HashMap<>();



     // validate the input
     if (book == null || book.length == 0)
         return map;



     for (int i =0 ; i< book.length;i++)
     {
          String str = book[i];
          str = str.toLowerCase();
          if ( str.trim() != ""  )
          {
               if (  !map.containsKey(str) )
                     map.put(str,1);
               else
                     map.put(str, map.get(str)+1);
          }
     }
    

     
     return map;



}
3. Similar Ones

No comments:

Post a Comment