网站建设服务流程,广西住房及城乡建设厅网站,旅游网站的制作,前端实战项目11套目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 专栏导读
本专栏收录于《华为OD机试#xff08;JAVA#xff09;真题#xff08;A卷B卷#xff09;》… 目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中刷题点这里 专栏导读
本专栏收录于《华为OD机试JAVA真题A卷B卷》。
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。 一、题目描述
主管期望你来实现英文输入法单词联想功能。
需求如下
依据用户输入的单词前缀从已输入的英文语句中联想出用户想输入的单词按字典序输出联想到的单词序列如果联想不到请输出用户输入的单词前缀。
注意
英文单词联想时区分大小写缩略形式如”don’t”判定为两个单词”don”和”t”输出的单词序列不能有重复单词且只能是英文单词不能有标点符号
二、输入描述
输入为两行。
首行输入一段由英文单词word和标点符号组成的语句str接下来一行为一个英文单词前缀pre。
0 word.length() 20 0 str.length 10000 0 pre 20
三、输出描述
输出符合要求的单词序列或单词前缀存在多个时单词之间以单个空格分割
输入输出说明I love you HeHe从用户已输入英文语句”I love you”中提炼出“I”、“love”、“you”三个单词接下来用户输入“He”\n\n从已输入信息中无法联想到任何符合要求的单词因此输出用户输入的单词前缀。The furthest distance in the world, Is not between life and death, But when I stand in front of you, Yet you don’t know that I love you. ffront furthest从用户已输入英文语句”The furthestdistance in the world, Is not between life and death, But when I stand in frontof you, Yet you dont know that I love you.”中提炼出的单词符合“f”作为前缀的有“furthest”和“front”按字典序排序并在单词间添加空格后输出结果为“front furthest”。
四、解题思路
根据题意描述来就可以了属于送分题。
五、Java算法源码
package com.guor.od;import java.util.*;public class OdTest {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String line1 scanner.nextLine();String line2 scanner.nextLine();ListString list new ArrayList();StringBuilder builder new StringBuilder();for (int i 0; i line1.length(); i) {char c line1.charAt(i);if (!((c z c a) || (c Z c A))) {if (builder.length() 0) {list.add(builder.toString());builder.setLength(0);}continue;}if (c ) {if (builder.length() 0) {list.add(builder.toString());builder.setLength(0);}continue;}if (c \) {if (builder.length() 0) {list.add(builder.toString());builder.setLength(0);}continue;}builder.append(c);if (i line2.length() - 1) {if (builder.length() 0) {list.add(builder.toString());builder.setLength(0);}}}boolean flag false;for (String str : list) {if (str.startsWith(line2)) {flag true;System.out.print(str );}}if (flag false) {System.out.println(line2);}}
}六、效果展示
1、输入
I love you He
2、输出
He 下一篇华为OD机试 - 荒岛求生 - 栈StackJava 2023 B卷 100分
本文收录于华为OD机试JAVA真题A卷B卷
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。