HDU 1251 统计难题
来源:互联网 发布:浪潮gs5.0 软件下载 编辑:程序博客网 时间:2024/05/24 01:11
问题:只出现小写字母
输入:输入数据的第一部分是一张单词表,单词长度不超过10,它们代表的是老师交给同学统计的单词。一个空行代表单词表的结束。第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串。本题只有一组测试数据,处理到文件结束。
输出:对于每个提问,给出以该字符串为前缀的单词的数量。
Sample Input
bananabandbeeabsoluteacmbabbandabc
Sample Output
2310
import java.util.*;public class TrimTree { //字典树类public class TrimTreeNode { //字典树中的节点类,成员有节点字符、节点值、节点的子节点集合char ch;int ncount;TrimTreeNode[] next;TrimTreeNode(char cha) {this.ch = cha;ncount = 1;next = new TrimTreeNode[26];}TrimTreeNode() {ncount = 1;next = new TrimTreeNode[26];}}public void addWord(TrimTreeNode node, String str) { //给字典添加单词的方法char[] letters = str.toCharArray();for (int i = 0; i < letters.length; i++) {int index = letters[i] - 'a';if (node.next[index] == null) {node.next[index] = new TrimTreeNode(letters[i]);} elsenode.next[index].ncount++;node = node.next[index];}}public int searchPre(TrimTreeNode node, String pre) { //在字典中遍历单词前缀的方法char[] letters2 = pre.toCharArray();for (int i = 0; i < letters2.length; i++) {int index = letters2[i] - 'a';if (node.next[index] != null)node = node.next[index];elsereturn 0;}return node.ncount;}public static void main(String[] args) {TrimTree tt = new TrimTree();TrimTreeNode root = tt.new TrimTreeNode(); //创建根节点,根节点无节点字符Scanner cin = new Scanner(System.in);while (cin.hasNext()) {String word = cin.nextLine();if (word.length() == 0 || word == null)break;tt.addWord(root, word); //将读入的单词添加进字典}while (cin.hasNext()) {String pre = cin.next();System.out.println(tt.searchPre(root, pre)); //搜索单词前缀出现的次数}}}
0 0
- HDU 1251 统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- HDU 1251:统计难题
- HDU 1251 统计难题
- Hdu-1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- HDU-1251-统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- hdu 1251统计难题
- hdu 1251 统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- Hibernate组件(Component)映射
- JFrame(框架)中添加和设置JPanel(面板)的方法
- 嵌入式学习路线
- Android 通过JNI实现守护进程,使Service服务不被杀死
- Java面试——集合
- HDU 1251 统计难题
- JS元素位置和位置坐标
- vmware与windows共享文件夹
- android -- 蓝牙 bluetooth (一) 入门
- Unable to find explicit activity class另类的解决方法
- APP开发绿行租车项目
- Android开发优化之——对界面UI的优化(3)
- iOS开发 UIDatePicker简单的日历的制作
- 手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1