一、题目描述
输入一个单词前缀和一个字典,输出包含该前缀的单词。
二、输入描述
单词前缀+字典长度+字典。
字典是一个有序单词数组。
输入输出都是小写。
三、输出描述
所有包含该前缀的单词,多个单词换行输出。
若没有则返回-1。
四、解题思路
输出包含该前缀的单词需要满足两个条件:
1、单词前缀长度 <= 字典长度
2、字典包含该前缀的单词
若没有则返回-1。
这道题简直就是送分题,送分题一定不能出错。
五、Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String word = sc.next();
int length = sc.nextInt();
// 字典是否包含该前缀的单词
boolean flag = false;
// 遍历所有的输入单词
for (int i = 0; i < length; i++) {
String dictionary = sc.next();
// 单词前缀长度 <= 字典长度
if (word.length() <= dictionary.length()){
// 字典包含该前缀的单词
if (dictionary.substring(0, word.length()).equals(word)) {
System.out.println(dictionary);
flag = true;
}
}
}
// 若没有则返回-1
if (false == flag) {
System.out.println(-1);
}
}
六、效果展示
1、输入
nezha 5 nezh nezha nezhastudy study nazhajava
2、输出
nezha
nezhastudy
🏆下一题:华为OD机试真题 Java 实现【最多提取子串数目】【2023Q1 100分】
🏆本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。