gpt4 book ai didi

Java在codechef问题中包含字符串搜索

转载 作者:行者123 更新时间:2023-11-30 12:08:40 24 4
gpt4 key购买 nike

我是 codechef 的新手。尝试在 FANCY problem statement. 解决简单问题复制以下问题陈述以供引用:

Chef 正在阅读一些伟人的名言。现在,他有兴趣对他知道的所有花哨的引语进行分类。他认为所有包含“不”字的花言巧语都是真正的花言巧语;不包含它的报价通常很花哨。

你得到了一些引述。对于每个报价,您都需要告诉 Chef 它是真正的奇思妙想还是普通的奇思妙想。

输入输入的第一行包含一个整数 T,表示测试用例的数量。 T 测试用例的描述如下。每个测试用例的第一行也是唯一一行包含一个表示引号的字符串 S。

输出对于每个测试用例,打印一行包含字符串“Real Fancy”或“regularly fancy”(不带引号)。

约束1≤T≤501≤|S|≤100S的每个字符要么是小写英文字母要么是空格子任务子任务 #1(100 分):原始约束

示例输入

2

我没有任何花哨的报价

什么都不行就往左走

示例输出

真正的幻想

经常喜欢

我的解决方案如下所示,它在我的机器上本地运行良好,但当我尝试在 codechef 上运行时出现NZEC 异常。提交此解决方案会导致“错误答案”。使用 try/catch block 是因为我阅读了 here它会避免异常,但答案仍然不正确。我不明白在这个简单的问题上我哪里错了。

/* package codechef; // don't place package name! */

import java.util.Scanner;

public class Main
{
private final static String REAL_FANCY = "Real Fancy\n";
private final static String REGULARLY_FANCY = "regularly fancy\n";
private final static String MATCH_WORD = " not "; //note: space both sides
private final static String MATCH_WORD_START = "not "; //note: space at end
private final static String MATCH_WORD_END = " not";//note: space at start

public static void main(String[] args)
{
try
{
Scanner scanner = new Scanner(System.in);
int testCases = Integer.parseInt(scanner.nextLine());

StringBuilder output = new StringBuilder();
String str = null;
for (int i = 0; i < testCases; i++)
{
str = scanner.nextLine();
if (str.startsWith(MATCH_WORD_START) || str.contains(MATCH_WORD)
|| str.endsWith(MATCH_WORD_END))
output.append(REAL_FANCY);
else
output.append(REGULARLY_FANCY);
}
scanner.close();
System.out.println(output.substring(0, output.length() - 1));
}
catch (Exception e)
{
}
}
}

最佳答案

您的代码存在逻辑问题,因为它无法将 'not '(注意空格)识别为花哨词。

您可以更改您的 if 逻辑并改用正则表达式。

if (str.matches(".*\\bnot\\b.*")) {
output.append(REAL_FANCY);
} else {
output.append(REGULARLY_FANCY);
}

这里的正则表达式匹配整个单词。关于此 regex 的详细解释,请参见 here .

关于Java在codechef问题中包含字符串搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54222518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com