华为OD机考-英文输入法-逻辑分析(JAVA 2025B卷)


java 复制代码
import java.util.*;

public class EnglishSpell {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String line = sc.nextLine();
            // don't-> don t
            if(line.contains("'")){
                line  = line.replace("'", " ");
            }
            String[] source = line.split("\\s+");
            String target = sc.nextLine();
            test(source,target);
        }
    }

    private static void test(String[] source,String target){
        HashSet<String> set = new HashSet<>();
        for(String s:source){
            // delete comma and dot
            if(!Character.isLetter(s.charAt(s.length()-1))){
                set.add(s.substring(0,s.length()-1));
            }else{
                set.add(s);
            }
        }
        List<String> sb = new ArrayList<>();
        for(String s:set){
            // find target word
            if(s.startsWith(target)){
                sb.add(s);
            }
        }
        if(sb.isEmpty()){
            System.out.println(target);
            return;
        }
        sb.sort(String::compareTo);
        for(int i=0;i<sb.size();i++){
            System.out.print(sb.get(i));
            if(i!=sb.size()-1){
                System.out.print(" ");
            }
        }
    }
}
相关推荐
武子康24 分钟前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
爱装代码的小瓶子2 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
YuTaoShao3 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw3 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
Maybe_ch3 小时前
.NET-键控服务依赖注入
开发语言·c#·.net
超浪的晨4 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
终焉暴龙王4 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
双力臂4044 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
Edingbrugh.南空4 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
CodeCraft Studio5 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html