码迷,mamicode.com
首页 > 其他好文 > 详细

Hiho 1014 题目

时间:2015-07-11 22:44:23      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

hiho一下第二周 Hihocoder #1014 : Trie树

?

参考链接:http://m.blog.csdn.net/blog/u012662688/38354777

?

Java实现:

?

import java.io.BufferedInputStream;

import java.util.Scanner;

?

?

public class Main {

????public static void main(String[] args) {????????

????????Scanner sc = new Scanner(new BufferedInputStream(System.in));

????????

????????//构建字典树

????????int n = sc.nextInt();????????

????????Trie root = new Trie();//构建一棵空树,不断的往里面放节点。

????????for(int i = 0;i<n;i++){

????????????insert(root, sc.next());

????????}

???????? ?

????????

????????//查找字典树

????????int m = sc.nextInt();????????

????????for(int i = 0;i<m;i++){????

????????????System.out.println(find(root, sc.next()));????

????????}

????}

?

????//创建字典树

????public static void insert(final Trie root, String str) {

????????Trie cur = root;

????????for (char ch : str.toCharArray()) {

????????????int idx = ch - ‘a‘;

????????????if (cur.child[idx] == null) {

????????????????cur.child[idx] = new Trie();

????????????}

????????????cur = cur.child[idx];????????????

????????????cur.num++;

????????}

????}

?

????//查找字典树

????public static int find(final Trie root, String str) {

????????Trie cur = root;

????????for (char ch : str.toCharArray()) {

????????????int idx = ch - ‘a‘;

????????????if (cur.child[idx] == null) {

????????????????return 0;

????????????}

????????????cur = cur.child[idx];

????????}

????????return cur.num;

????}

}

?

class Trie {

????Trie[] child;????

????int num;

????public Trie() {

????????child = new Trie[26];

????}

}

Hiho 1014 题目

标签:

原文地址:http://www.cnblogs.com/ustc-cui/p/4639373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!