В этом примере мы изучим различные способы поиска наиболее частого элемента в массиве в C#.
Использование Hashtable:
Вы можете использовать Hashtable, чтобы найти наиболее частый элемент в массиве.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Using_Hashtable { class Program { static void MaxOccurrence(int[] array, Hashtable hs) { int mostCommom = array[0]; int occurences = 0; foreach (int num in array) { if (!hs.ContainsKey(num)) { hs.Add(num, 1); } else { int tempOccurences = (int)hs[num]; tempOccurences++; hs.Remove(num); hs.Add(num, tempOccurences); if (occurences < tempOccurences) { occurences = tempOccurences; mostCommom = num; } } } Console.WriteLine("Наиболее часто встречающееся число: " + mostCommom + " и оно повторяется " + occurences + " раз"); } public static void Main(string[] args) { int[] array = new int[20] { 3, 6, 8, 5, 3, 5, 7, 6, 4, 3, 2, 3, 5, 7, 6, 4, 3, 4, 5, 7 }; Hashtable hs = new Hashtable(); MaxOccurrence(array, hs); Console.ReadKey(); } } } |
Вывод:
Наиболее часто встречающееся число: 3 и оно повторяется 5 раз