17.9设计一个函数,找到给定单词在一本书中的出现次数
2015-04-08 01:15
246 查看
cc 17.9 hashtable应用
首先需要考虑这个函数被调用的次数,如果只查询一次,直接遍历整本书,计算给定单词次数。时间只能是O(N)。
正常情况下通常需要可以多次调用
这样pre-processing the book,use hashtable to store word, frequency. then we can easily look up by O(1) time.
代码很简单,就是建立hashtable,然后查找
其中:word忽略大小写区别,所以可以都转换为小写,trim() != “ “
首先需要考虑这个函数被调用的次数,如果只查询一次,直接遍历整本书,计算给定单词次数。时间只能是O(N)。
正常情况下通常需要可以多次调用
这样pre-processing the book,use hashtable to store word, frequency. then we can easily look up by O(1) time.
代码很简单,就是建立hashtable,然后查找
其中:word忽略大小写区别,所以可以都转换为小写,trim() != “ “
public int findword(Hashtable<String, Integer> map, String word){ if(word == null || map == null) return -1; // wrong situation /*****here we ignore diff between uppercase and lowercase****/ word = word.toLowerCase(); if(map.containsKey(word)){ return map.get(word); } return 0; } //set up hashtable for the book private Hashtable<String, Integer> setupDic(String[] book){ Hashtable<String, Integer> map = new Hashtable<String, Integer>(); for(String s : book){ /*****corner case******************/ if(s.trim() == "") continue; /********************************/ s = s.toLowerCase(); if(map.containsKey(s)){ map.put(s, map.get(s) + 1); }else map.put(s, 1); } return map; }
相关文章推荐
- 程序员面试金典——解题总结: 9.17中等难题 17.9设计一个方法,找出任意指定单词在一本书中的出现频率
- sql语句 设计一个函数用来计算一个字符串中,另一个字符串出现的次数
- 有一个string,写一个函数,要求输出这个string中每个单词出现的次数的列表
- 设计一个方法,找出任意指定单词在一本书中的出现频率。
- 请实现一个函数能够计算一段文本中每个单词出现的次数。
- 编写函数,对标准输入进行扫描,并对“the”出现的次数进行计数。 进行比较时应区分大小写。认为一个单词有一个或多个空格字符分隔, 并且输入行在长度上不会超过100个字符,计数结果输出。
- 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
- 给定一个数,统计1出现的次数
- 找出一个文件中出现次数最多的10个单词
- 一个利用map统计一段英文文章中每个单词出现次数的小程序
- 编写一个js函数求一个字符串数组按字符串中各字母出现次数多少的重新排序
- 给定一个单调递增有序数组A,给定一个数字N,试给出一个算法得到A中该数字N出现的次数。
- 给定一个字符串,求出该字符串里哪个字符出现的次数最多
- 编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足一下条件的单词:该单词的后面紧接着再次出现自己本身。跟踪重复次数最多的单词及其重复次数,输出.
- 问题5:如何在顺序数组中找到给定数字出现的次数
- 给定一个字符串,统计一下哪个字符出现次数最大
- 【C编程练习】华为2013校园招聘机试题目题4:删除一个字符串中出现次数最少的字符,函数原型为:char * delChar(char *s,int iLen)
- 练习2-4:编一个程序统计文件中特定单词出现的次数(要求使用string类的运算符==来查找单词)
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- 设计一个程序,从键盘上输入若干字符串,利用算法库中的查找函数对给定的字符串进行查找,将查找后的结果输出