Расстояние между символами. Нужна подсказка - C#
Формулировка задачи:
Прошу помочь осознать,что от меня требуется. Код программы я сам напишу. Не понимаю,что надо найти и как
Расстояние между двумя словами равной длины – это количество позиций, в которых различаются эти слова. В заданном предложении найти пару наиболее далеко удаленных слов заданной длины.
Решение задачи: «Расстояние между символами. Нужна подсказка»
textual
Листинг программы
internal class Program
{
private static void Main(string[] args)
{
string s = "acbfd mmmmm abrtd yuit";
string[] r = MaxDistanceWords(s, 5);
foreach(string t in r)
Console.Write(t + " ");
Console.ReadKey();
}
private static string[] MaxDistanceWords(string s, int l)
{
string[] ts = s.Split(); //считаем, что слова разделены пробелом.
int dmax = int.MinValue;
int q = 0, g = 0;
for(int i = 0; i < ts.Length - 1; ++i)
{
for(int j = i + 1; j < ts.Length; ++j)
{
int td = Distance(ts[i], ts[j], l);
if(td > dmax)
{
dmax = td;
q = i;
g = j;
}
}
}
return dmax > int.MinValue ? new[] {ts[q], ts[g]} : new string[0];
}
private static int Distance(string a, string b, int n)
{
if (a.Length != n || b.Length != n)
return int.MinValue;
int d = 0;
for (int i = 0; i < a.Length; ++i)
if (a[i] != b[i]) ++d;
return d;
}
}