Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我需要一个算法来计算一个算法中重复次数最多的数字_C#_Arrays_Algorithm - Fatal编程技术网

C# 我需要一个算法来计算一个算法中重复次数最多的数字

C# 我需要一个算法来计算一个算法中重复次数最多的数字,c#,arrays,algorithm,C#,Arrays,Algorithm,这是我想到的,但它不起作用: static void Main(string[] args) { int[] arr =Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray<int>(); int MostRepatedNumber = 0; int Count = 0; int i; for (i = 0;

这是我想到的,但它不起作用:

    static void Main(string[] args)
    {
        int[] arr =Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray<int>();
        int MostRepatedNumber = 0;
        int Count = 0;
        int i;
        for (i = 0; i < arr.Length -1; i++)
        {
            if (arr[i] == arr[i + 1])
            {
                Count++;
                MostRepatedNumber = arr[i];                            
            }


        } 
        if(arr[i] < arr.Length - 2)
        {
            if (arr[i] < arr[i + 1])
            {
                Count = 1;
                MostRepatedNumber = arr[i + 1];
            }          
         }  
        Console.WriteLine(MostRepatedNumber);
    }
static void Main(字符串[]args)
{
int[]arr=Console.ReadLine().Split(“”)。选择(x=>int.Parse(x)).ToArray();
int MostRepatedNumber=0;
整数计数=0;
int i;
对于(i=0;i
如果要查找列表/数组中重复次数最多的数字,可以按数字分组,按计数降序,然后按顺序取第一个:

IList<int> myNumbers = ...

int mostRepeated = myNumbers.GroupBy(x => x)
    .OrderByDescending(g => g.Count())
    .First()
    .Key;

像这样的怎么样

  static void Main(string[] args)
        {
            int[] arr = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray<int>();
            int max = 0;
            int mostRepeated = arr[0];
            foreach(int element in arr)
            {
                int[] temp = arr.Where(i => i == element).ToArray();
                if(temp.Length > max)
                {
                    max = temp.Length;
                    mostRepeated = element;
                }
            }
            Console.WriteLine(mostRepeated);
        }
static void Main(字符串[]args)
{
int[]arr=Console.ReadLine().Split(“”)。选择(x=>int.Parse(x)).ToArray();
int max=0;
int mostRepeated=arr[0];
foreach(arr中的int元素)
{
int[]temp=arr.Where(i=>i==元素).ToArray();
如果(温度长度>最大值)
{
最大值=温度长度;
最重复=元素;
}
}
控制台写入线(重复次数最多);
}

解释一下也不错。我的标题有个错误,应该是:C#-我需要一个算法来计算数组中重复次数最多的数字。我在这里,所以我不知道如何编辑它。在你问题的标签下面是一个编辑按钮,你可以自由地使用它来编辑你自己的问题。。。“不起作用”意味着什么?使用
字典来计算每个数字出现的频率。可能的重复我知道这是一种方法,但我想用算术来做。@Cratthead定义“算法”好的,类似数学的算法,不使用内置函数和命令,只使用循环等。对不起,但我是编程新手,所以我希望你明白我的意思。
  static void Main(string[] args)
        {
            int[] arr = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray<int>();
            int max = 0;
            int mostRepeated = arr[0];
            foreach(int element in arr)
            {
                int[] temp = arr.Where(i => i == element).ToArray();
                if(temp.Length > max)
                {
                    max = temp.Length;
                    mostRepeated = element;
                }
            }
            Console.WriteLine(mostRepeated);
        }