Получить слово из списка которое встречается больше всего раз

  • Автор темы Автор темы JustSmile
  • Дата начала Дата начала

JustSmile

Client
Регистрация
19.01.2016
Сообщения
121
Реакции
3
Баллы
18
Здраствуйте! Как можно через C# получить слово из списка которое встречается больше всего и сохранить его в переменную?
 
Здраствуйте! Как можно через C# получить слово из списка которое встречается больше всего и сохранить его в переменную?
Здравствуйте.
Здесь были обсуждения с решениями похожей задачи:
Остается только дополнить подсчетом строк списка с дублями.
 
Еще бы понимать как) а то уже часов 6 наверно решаю проблему, уже нейронку замучал)
 
Здраствуйте! Как можно через C# получить слово из списка которое встречается больше всего и сохранить его в переменную?
Набросал такой вот код
C#:
Развернуть Свернуть Копировать
var text = "Здраствуйте! Как можно через C# получить слово из списка которое встречается больше всего и сохранить его в переменную? можно больше слово списка слово";
var lst = text.Split(' ').ToList();

var words = lst
    .GroupBy(g => g)
    .Select(w => new {Word = w.Key, Count = w.Count() })
    .OrderByDescending(c => c.Count);

var word = words.First();

return word;
//word => "слово" 3шт. макс количество
 
  • Оценить
Реакции: samsonnn и JustSmile
Здраствуйте! Как можно через C# получить слово из списка которое встречается больше всего и сохранить его в переменную?

kiss_133kb.1689516582.png


kiss_112kb.1689516651.png


kiss_3kb.1689516677.png


C#:
Развернуть Свернуть Копировать
List<string> list = new List<string>(project.Lists["list"]);
Dictionary<string, int> wordCounts = new Dictionary<string, int>();
  foreach (string str in list){
     string[] words = str.ToLower().Split(new[] { ' ', '.', ',', '!', '?' }, StringSplitOptions.RemoveEmptyEntries);
        foreach (string word in words){
           if (wordCounts.ContainsKey(word))
            wordCounts[word]++;
           else
            wordCounts[word] = 1;
            }
        }
string mostFrequentWord = wordCounts.OrderByDescending(pair => pair.Value).First().Key;
return mostFrequentWord;
 
  • Оценить
Реакции: Dmitriy Ka и JustSmile
Спасибо большое! 2 вариант самый лучший!
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)