How to find the maximum repeating number in array with C#

2 Answers

0 votes
using System;

public class Program
{
	public static int MaxRepertingElement(int[] array) {
		int size = array.Length;
		for (int i = 0; i < size; i++) {
			array[array[i] % size] += size;
            // array[i] % size = 3 4 8 3 8 2 3 9 4 4 4 7 7 7 4 
    	    // array = [3, 4, 23, 48, 83, 2, 3, 54, 34, 19, 4, 7, 7, 7, 4] 		
        }

		int max_element = int.MinValue;
		int repeating = 0;

		for (int i = 0; i < size; i++) {
			if (array[i] > max_element) {
				max_element = array[i];
				repeating = i;
			}
		}

		return repeating;
	}

	public static void Main(string[] args)
	{
		int[] array = new int[] {3, 4, 8, 3, 8, 2, 3, 9, 4, 4, 4, 7, 7, 7, 4};

		Console.Write(MaxRepertingElement(array));
	}
}





/*
run:
  
4
  
*/

 



answered Aug 28, 2022 by avibootz
edited Aug 28, 2022 by avibootz
0 votes
using System;
using System.Linq;

public class Program
{
	public static void Main(string[] args)
	{
		int[] array = new int[] {3, 4, 8, 3, 8, 2, 3, 9, 4, 4, 4, 7, 7, 7, 4};
		
		int max_reperting_number = array.GroupBy(n => n)
                         .OrderByDescending(n => n.Count())
                         .First().Key;

		Console.Write(max_reperting_number);
	}
}





/*
run:
  
4
  
*/

 



answered Aug 28, 2022 by avibootz

Related questions

1 answer 193 views
1 answer 206 views
1 answer 176 views
3 answers 324 views
1 answer 200 views
...