我正在使用Top-Coder解决问题。问题陈述是 -
有一天,杰米注意到许多英文单词只使用字母A. 这些词的例子包括" AB" (腹部的缩写), " BAA" (羊的噪音)," AA" (一种熔岩)," ABBA" (一个 瑞典流行音乐)。
受这种观察的启发,杰米创造了一个简单的游戏。你是 给出两个字符串:初始和目标。游戏的目标是找到 一系列有效的动作,将初始变为目标。那里 有两种类型的有效动作:
将字母A添加到字符串的末尾。然后反转字符串 将字母B添加到字符串的末尾。返回"可能" (报价 为清晰起见)如果有一系列有效的移动会改变 初步进入目标。否则,返回"不可能"。
下面是我通过Panel中所有测试但在系统测试中失败的问题的解决方案。但是,我没有得到关于哪个测试用例失败的任何具体信息。请检查我的代码是否在某些情况下不起作用
class ABBA
{
public string canObtain(string initial,string target)
{
string s = "Impossible";
if (initial.Length > target.Length)
return "Impossible";
if (initial.Equals(target))
return "Possible";
if (CheckFirstWay(target,initial))
{
s=canObtain(initial+"A",target);
}
if (s.Equals("Impossible") && CheckSecondWay(target,initial))
{
s=canObtain(ReverseStringDirect(initial) + "B",target);
}
return s;
}
public static string ReverseStringDirect(string s)
{
char[] array = new char[s.Length];
int forward = 0;
for (int i = s.Length - 1; i >= 0; i--)
{
array[forward++] = s[i];
}
return new string(array);
}
private static bool CheckSecondWay(string final, string initial)
{
if (final.Contains(ReverseStringDirect(initial) + "B") || final.Contains("B"+initial))
{
return true;
}
else
{
return false;
}
}
private static bool CheckFirstWay(string final1, string initial)
{
if (final1.Contains(initial + "A") || final1.Contains(ReverseStringDirect(initial+"A")))
{
return true;
}
else
{
return false;
}
}
}
答案 0 :(得分:0)
您可以按照以下步骤检查哪个测试失败,
- 前往指定的房间。
- 打开问题。
- 编译。
- 提交。
- 然后去运行系统测试。
- 你会在那里看到错误测试。
醇>
OR
- 从here中选择匹配项。
- 然后在显示的页面中,您将看到一组蓝色编码员和红色编码员,他们在比赛中名列前茅。
- 根据您的部门选择任何一名玩家。
[.]
- >这个标志旁边的名字。- 然后检查他们的解决方案,你会看到那些测试。
醇>
以下是test cases ..请查看。
您必须在此处键入系统测试。您可以查看下面的图片。图片来源:Google