【发布时间】:2013-06-07 07:17:45
【问题描述】:
我正在努力学习制作高效的算法。 我查找子字符串的代码如下
public static bool HasSubstring(string MainStr,string SubStr)
{
bool FoundMatch = false;
for (int i = 0; i < MainStr.Length; i++)
{
if (SubStr.Length != 0)
{
int a = 0;
int j = 0;
if (MainStr[i] == SubStr[a])
{
j = i;
do
{
if (MainStr[j] == SubStr[a])
{
a++;
j++;
FoundMatch = true;
continue;
}
else
{
FoundMatch = false;
break;
}
} while (a<SubStr.Length);
if (FoundMatch == true)
{
break;
}
}
}
}
return FoundMatch;
}
我可以优化这种方法吗?
【问题讨论】:
-
string contains?。编辑:如果这不是关于查找子字符串和关于学习算法的不正确,那么您可以在找到匹配项后立即返回
-
这似乎更适合Code Review。
-
我认为这个问题属于codereview.stackexchange.com
-
很抱歉我没有找到你@Sayse
-
另外,你的 C# 变量通常应该是
lowercaseCamelCase,而不是大写。