C# - Find the mode of numbers in an array - Simple Method


C# - Find the mode of numbers in an array - Simple Method

CODE
using System; class Program { static void Main(string[] args) { int[] numbers = { 3,4,5,6,7,23,12,34,4 }; int mode = GetMode(numbers); Console.WriteLine(mode); //Output //4 } private static int GetMode(int[] numbers) { int count = numbers.Length; //Sort the numbers for (int i = 0; i < count - 1; i++) { for (int j = i; j < count; j++) { if (numbers[i] > numbers[j]) { int temp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = temp; } } } int mode = numbers[0]; int modeOccurences = 1; int runningValue = numbers[0]; int runningOccurences = 1; for (int i = 1; i < count; i++) { if (numbers[i] == runningValue) runningOccurences++; else { if (runningOccurences > modeOccurences) { modeOccurences = runningOccurences; mode = runningValue; } runningOccurences = 1; runningValue = numbers[i]; } } return mode; } }

Comments