Java笔试题之找出字符串前缀问题
2017-10-10 00:08
597 查看
题目:
给定n个单词的单词表,给定m个查询单词,对于每一次询问,找出所查询的单词是单词表中多少个单词的前缀。
输入:1
5 3
aaaaaa
aaabbb
ababab
dddd
dddd
aaaa
aaa
ax
输出:Case #1:
1
2
0
import java.lang.reflect.Array; import java.util.Arrays; import java.util.Scanner; public class ZifuchuanTest { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner sc = new Scanner(System.in); System.out.println("输入单词表个数: "); int n = sc.nextInt(); String[] wordList = new String ; for(int i=0;i<wordList.length;i++) { System.out.println("请输入一个单词:"); wordList[i] = sc.next(); } System.out.println("输入查询单词的个数:"); int m = sc.nextInt(); String[] wordQuery = new String[m]; for(int i=0;i<wordQuery.length;i++) { System.out.println("请输入一个查询单词:"); wordQuery[i]=sc.next(); } findCount(wordList, wordQuery); } //比较是否是前缀的函数 public static boolean check(String a,String b) { boolean t =false; if(b.length()<=a.length()) { int count = 0; if(b.charAt(0)==a.charAt(0)) { for(int i=0;i<b.length();i++) { if(b.charAt(i)==a.charAt(i)) { count++; } } } if(count==b.length()) { t=true; } } return t; } //找出单词表中的单词有该前缀的次数 public static void findCount(String []wordList,String []wordQuery) { for(int i=0;i<wordQuery.length;i++) { int n = 0; for(int j=0;j<wordList.length;j++) { if(check(wordList[j], wordQuery[i])) { n++; } } System.out.println(wordQuery[i]+"为前缀的单词的出现次数:"+n); } } }
相关文章推荐
- 【Java笔试题】字符串包含问题
- 字符串唯一前缀问题;一道Trie树笔试题;
- java面试笔试题,字符串反转问题
- 有感:应聘Java笔试时可能出现问题及其答案(第二版part three)
- 有感:应聘Java笔试时可能出现问题及其答案(第二版part four)
- JAVA与C++::关于JNI中文字符串操作问题总结
- 应聘Java笔试时可能出现问题及其答案
- 有感:应聘Java笔试时可能出现问题及其答案 huij
- 应聘Java笔试时可能出现问题(答案不一定正确)
- java字符串星号、问号匹配问题解决方法
- [转] 应聘Java笔试时可能出现问题及其答案(第三部分)
- [转] 应聘Java笔试时可能出现问题及其答案(第四部分)
- [转] 应聘Java笔试时可能出现问题及其答案(第五部分)
- 应聘Java笔试时可能出现问题及其答案
- 应聘Java笔试时可能出现问题
- 应聘Java笔试时可能出现问题及其答案
- [转] 应聘Java笔试时可能出现问题及其答案(第一部分)
- Java与C之间通过JNI传递中文字符串及乱码问题
- java字符串星号、问号匹配问题解决方法
- [ZT]应聘Java笔试时可能出现问题及其答案