Найдите струны с определенным расстоянием дотаC#

Место общения программистов C#
Ответить
Anonymous
 Найдите струны с определенным расстоянием дота

Сообщение Anonymous »

Если мы запустим следующее ( Спасибо @octavioccl за помощь ) запрос LINQ:

Код: Выделить всё

var result = stringsList
.GroupBy(s => s)
.Where(g => g.Count() > 1)
.OrderByDescending(g => g.Count())
.Select(g => g.Key);
Это дает нам все строки, которые встречаются в списке, по крайней мере, дважды (, но точно соответственно, то есть, то есть расстояние в хэмминге = 0 ).
Мне просто задавалось вопросом, есть ли элегантные решения ( , что я могу попробовать, где я могу использовать, что можно, что можно, или сразительно, что я могу повторно, или убедительно, что мы смогли, что я могу быть сильными, которые я могу пробовать). Укажите расстояние в осадках в предложении Where , чтобы получить эти строки, которые лежат в указанном диапазоне расстояний хамминга? Как я упоминал ранее, я хочу получить список строк с расстоянием хэмминга ниже данного порога. Его код работает отлично для этого ( спасибо еще раз ).
Единственная вещь, которая остается, - это вывести строки из «результатов» и вставить/добавить в `list '
, в основном это то, что я хочу:

это то, что я хочу:

Код: Выделить всё

List outputList = new List();
foreach (string str in patternsList)
{
var rs = wordsList
.GroupBy(w => hamming(w, str))
.Where(h => h.Key  h.Key)
.Select(h => h.Count());
outputList.Add(rs); //I know it won't work but just to show what is needed
}
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/374 ... tance-linq
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»