【华为机考真题】字符串压缩

这里写自定义目录标题

部分通过,请问该咋改

给定一段英文句子和一个英文单词列表。英文句子包含英文单词和标点符号,

其中:

1)英文单词只包含a-zA-Z范围内的字符

2)标点符号包括逗号,句号,双引号(双引号两边至少有一个空格)

如果列表中有单词在句子中存在(大小写不敏感)且该单词未被双引号包含,则使用该单词在列表中的索引值(索引值从0开始)代替句子中的该单词

如果英文单词列表存在重复的英文单词,则该单词最后出现英文单词

解答要求:

时间限制:C/C++400ms,其他语言:800ms

内存限制:C/c++200MB,其他语言:400MB

输入:

第一行,一段英文句子

第二行,英文单词列表

提示:每个英文单词长度在1-50范围内

输入的英文句子长度在0,10000范围内

输入英文单词列表长度在0,10000范围内

英文句子不会出现双引号不匹配的情况

输出:

替换后的英文句子

样例1

bash 复制代码
输入: Hello world.
      Good Hello LOOP
输出: 1 world.
解释:hello在英文句子中存在,则使用hello的索引值进行替换,得到结果1 world.```、
样例2

```bash
输入: An introduction is "the first paragraph" of your paper. 
      what say first Second IS introduction IS end
      
输出: An 5 6 "the first paragraph" of your paper.
解释:字符串列表中的introduction,IS在句子中存在,first虽然在句子中存在但被双引号包含了,所以使用introduction单词,IS单词(最后一次出现)的索引值进行替换,得到的结果为 An 5 6 "the first paragraph " of your papger

本人写的代码如下,但只是部分用例,还需修改,但不知如何进行修改,请有经验的同学解答一下。

部分通过代码如下所示:

java 复制代码
import java.util.*;
import java.io.*;
public class Test {

    private  static  String replaceWithIndex(String sentences,List<String> worldlist){

        String[] words = sentences.split("\\s+");
        StringBuilder replaceSentence = new StringBuilder();
        for (String word: words){
            // word = word.replaceAll("[^a-zA-Z]","");
            int index= worldlist.indexOf(word);
            if(index != -1){
                replaceSentence.append(index).append(" ");
            }else {
                replaceSentence.append(word).append(" ");
            }
        }
        return replaceSentence.toString().trim();
    }




    public static void main(String[] args) throws IOException {

        Scanner sc = new Scanner(System.in);

        String sentences = sc.nextLine();
        String str = sc.nextLine();
        List<String> wordList = new ArrayList<>();
        for(String word : str.split("\\s+") ){

            wordList.add(word);

        }


        String replaceSentences = replaceWithIndex(sentences,wordList);
        System.out.println(replaceSentences);
        sc.close();

    }
}
相关推荐
m0_587383001 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·1 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
专注仿真1 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes2 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停2 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金4 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟4 小时前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
paopaokaka_luck5 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
阿里嘎多学长5 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Wang's Blog5 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo