部分通过,请问该咋改给定一段英文句子和一个英文单词列表。英文句子包含英文单词和标点符号,其中:1)英文单词只包含[a-zA-Z]范围内的字符2)标点符号包括逗号,句号,双引号(双引号两边至少有一个空格)如果列表中有单词在句子中存在(大小写不敏感)且该单词未被双引号包含,则使用该单词在列表中的索引值(索引值从0开始)代替句子中的该单词如果英文单词列表存在重复的英文单词,则该单词最后出现英文单词解答要求:时间限制:C/C++400ms,其他语言:800ms内存限制:C/c++200MB,其他语言:400MB输入:第一行,一段英文句子第二行,英文单词列表提示:每个英文单词长度在[1-50]范围内输入的英文句子长度在[0,10000]范围内输入英文单词列表长度在[0,10000]范围内英文句子不会出现双引号不匹配的情况输出:替换后的英文句子样例1————————————————输入: Hello world. Good Hello LOOP输出: 1 world.解释:hello在英文句子中存在,则使用hello的索引值进行替换,得到结果1 world.```、样例2```输入: An introduction is &quot;the first paragraph&quot; of your paper. what say first Second IS introduction IS end 输出: An 5 6 &quot;the first paragraph&quot; of your paper.解释:字符串列表中的introduction,IS在句子中存在,first虽然在句子中存在但被双引号包含了,所以使用introduction单词,IS单词(最后一次出现)的索引值进行替换,得到的结果为 An 5 6 &quot;the first paragraph &quot; of your papger本人写的代码如下,但只是部分用例,还需修改,但不知如何进行修改,请有经验的同学解答一下。部分通过代码如下所示:import java.util.*;import java.io.*;public class Test { private static String replaceWithIndex(String sentences,List<String> worldlist){ String[] words = sentences.split(&quot;\\s+&quot;); StringBuilder replaceSentence = new StringBuilder(); for (String word: words){ // word = word.replaceAll(&quot;[^a-zA-Z]&quot;,&quot;&quot;); int index= worldlist.indexOf(word); if(index != -1){ replaceSentence.append(index).append(&quot; &quot;); }else { replaceSentence.append(word).append(&quot; &quot;); } } 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(&quot;\\s+&quot;) ){ wordList.add(word); } String replaceSentences = replaceWithIndex(sentences,wordList); System.out.println(replaceSentences); sc.close(); }}