我正在制作一个有助于在网络中搜索重复内容(仅限文本)的软件。我想我可以使用谷歌,因为它非常有效和快速。所以我开发了一种算法,但效率不高。
这是我的想法。用户输入300-500字符长度的内容。此内容在谷歌搜索。第一页的结果被认为是。
例如:内容是“品种的定义是一个争议的问题。一些团体使用最终需要极端繁殖才能获得资格的定义。以这种方式繁殖的狗通常最终会出现严重的健康问题。其他组织更松散地定义一个品种,这样一个人就可以被认为是一个品种,只要其中三个祖父母属于该品种“。谷歌的第一个结果:狗和品种的简史。狗通常意味着家养的狗,...有些群体使用的定义最终需要极端的繁殖才能获得资格。以这种方式繁殖的狗通常最终会出现严重的健康问题。其他组织更松散地定义一个品种,这样个人就可以......
因此,从第一个结果我们可以说内容存在于网络上..
我的算法
bool checkContentVsResult(string googletext, string content)
{
bool found = false;
int len = 0;
string[] ch = new string[] { "." };
string[] texts = googletext.Split(ch, StringSplitOptions.RemoveEmptyEntries);
int count = 0,qualify=0;
len = text.Length;
if (len > 300)
qualify = 3;
else if (len > 200)
qualify = 2;
else
qualify = 1;
foreach (string s in texts)
{
if (s==" ")
continue;
if (content.Contains(s))
count++;
if (count >= qualify)
{
found = true;
break;
}
}
return found;
}
正如您所看到的算法效率不高..如何提高效率..?
答案 0 :(得分:1)
尝试谷歌搜索“levenshtein距离c”?