Java 如何在数组中找到最频繁的数字并将其打印出来

Java 如何在数组中找到最频繁的数字并将其打印出来,java,arrays,digit,Java,Arrays,Digit,我有一个数组,例如: |4758322| 10000 | 5748883 |2754331| 我需要返回数组中具有最频繁数字的num。 在本例中,该方法将返回10000。 有人能帮我吗?我被卡住了,不知道如何开始 谢谢 因为您没有提供代码。所以我也不打算写它。 尝试执行以下操作: 对于数组中的每个数字,求模10,直到其值为零。 您将有一个整数。因此,计算每个数字出现的次数 在数字上。存储最高计数。重复上述步骤 其他数字。并比较每种方法的计数。最后显示 计数最高的数字 因为您没有提供代码。所以我

我有一个数组,例如:

|4758322| 10000 | 5748883 |2754331|
我需要返回数组中具有最频繁数字的num。 在本例中,该方法将返回10000。 有人能帮我吗?我被卡住了,不知道如何开始


谢谢

因为您没有提供代码。所以我也不打算写它。
尝试执行以下操作:

对于数组中的每个数字,求模10,直到其值为零。 您将有一个整数。因此,计算每个数字出现的次数 在数字上。存储最高计数。重复上述步骤 其他数字。并比较每种方法的计数。最后显示 计数最高的数字


因为您没有提供代码。所以我也不打算写它。
尝试执行以下操作:

对于数组中的每个数字,求模10,直到其值为零。 您将有一个整数。因此,计算每个数字出现的次数 在数字上。存储最高计数。重复上述步骤 其他数字。并比较每种方法的计数。最后显示 计数最高的数字


因为您没有提供代码。所以我也不打算写它。
尝试执行以下操作:

对于数组中的每个数字,求模10,直到其值为零。 您将有一个整数。因此,计算每个数字出现的次数 在数字上。存储最高计数。重复上述步骤 其他数字。并比较每种方法的计数。最后显示 计数最高的数字


因为您没有提供代码。所以我也不打算写它。
尝试执行以下操作:

对于数组中的每个数字,求模10,直到其值为零。 您将有一个整数。因此,计算每个数字出现的次数 在数字上。存储最高计数。重复上述步骤 其他数字。并比较每种方法的计数。最后显示 计数最高的数字


我会首先尝试解决问题的一个简单版本,然后尝试扩展它来解决整个问题

我会先从一个整数中求出数字的频率,这几乎可以解决剩下的问题,比如

public static int maxFrequency(int number){
    int[] array = new int[(number)+"".length()];
    int max = 0;
    while(number != 0){
        array[number%10] += 1
        if(max < array[number%10]){
            max = array[number%10];
        }
        number = number/10;
    }
    return max;
}
公共静态整数最大频率(整数){
int[]数组=新的int[(数字)+''.length();
int max=0;
while(数字!=0){
数组[编号%10]+=1
如果(最大值<数组[数目%10]){
最大值=数组[数目%10];
}
数字=数字/10;
}
返回最大值;
}
然后我将使用此方法将其扩展到数组中的所有元素,并选择最大的元素

int[] a = {4758322, 10000 , 5748883 ,2754331};
    int max = 0;
    int target = 0;

    for(int i : a){

        int maxFrequencyi = maxFrequency(i);
        if(max < maxFrequencyi){
            max = maxFrequencyi;
            target = i;
        }
    }
  return target;
int[]a={47583221000057488832754331};
int max=0;
int目标=0;
对于(int i:a){
int maxFrequencyi=maxFrequency(i);
如果(最大<最大频率){
max=maxFrequencyi;
目标=i;
}
}
回报目标;

我会先尝试解决问题的一个简单版本,然后尝试扩展它来解决整个问题

我会先从一个整数中求出数字的频率,这几乎可以解决剩下的问题,比如

public static int maxFrequency(int number){
    int[] array = new int[(number)+"".length()];
    int max = 0;
    while(number != 0){
        array[number%10] += 1
        if(max < array[number%10]){
            max = array[number%10];
        }
        number = number/10;
    }
    return max;
}
公共静态整数最大频率(整数){
int[]数组=新的int[(数字)+''.length();
int max=0;
while(数字!=0){
数组[编号%10]+=1
如果(最大值<数组[数目%10]){
最大值=数组[数目%10];
}
数字=数字/10;
}
返回最大值;
}
然后我将使用此方法将其扩展到数组中的所有元素,并选择最大的元素

int[] a = {4758322, 10000 , 5748883 ,2754331};
    int max = 0;
    int target = 0;

    for(int i : a){

        int maxFrequencyi = maxFrequency(i);
        if(max < maxFrequencyi){
            max = maxFrequencyi;
            target = i;
        }
    }
  return target;
int[]a={47583221000057488832754331};
int max=0;
int目标=0;
对于(int i:a){
int maxFrequencyi=maxFrequency(i);
如果(最大<最大频率){
max=maxFrequencyi;
目标=i;
}
}
回报目标;

我会先尝试解决问题的一个简单版本,然后尝试扩展它来解决整个问题

我会先从一个整数中求出数字的频率,这几乎可以解决剩下的问题,比如

public static int maxFrequency(int number){
    int[] array = new int[(number)+"".length()];
    int max = 0;
    while(number != 0){
        array[number%10] += 1
        if(max < array[number%10]){
            max = array[number%10];
        }
        number = number/10;
    }
    return max;
}
公共静态整数最大频率(整数){
int[]数组=新的int[(数字)+''.length();
int max=0;
while(数字!=0){
数组[编号%10]+=1
如果(最大值<数组[数目%10]){
最大值=数组[数目%10];
}
数字=数字/10;
}
返回最大值;
}
然后我将使用此方法将其扩展到数组中的所有元素,并选择最大的元素

int[] a = {4758322, 10000 , 5748883 ,2754331};
    int max = 0;
    int target = 0;

    for(int i : a){

        int maxFrequencyi = maxFrequency(i);
        if(max < maxFrequencyi){
            max = maxFrequencyi;
            target = i;
        }
    }
  return target;
int[]a={47583221000057488832754331};
int max=0;
int目标=0;
对于(int i:a){
int maxFrequencyi=maxFrequency(i);
如果(最大<最大频率){
max=maxFrequencyi;
目标=i;
}
}
回报目标;

我会先尝试解决问题的一个简单版本,然后尝试扩展它来解决整个问题

我会先从一个整数中求出数字的频率,这几乎可以解决剩下的问题,比如

public static int maxFrequency(int number){
    int[] array = new int[(number)+"".length()];
    int max = 0;
    while(number != 0){
        array[number%10] += 1
        if(max < array[number%10]){
            max = array[number%10];
        }
        number = number/10;
    }
    return max;
}
公共静态整数最大频率(整数){
int[]数组=新的int[(数字)+''.length();
int max=0;
while(数字!=0){
数组[编号%10]+=1
如果(最大值<数组[数目%10]){
最大值=数组[数目%10];
}
数字=数字/10;
}
返回最大值;
}
然后我将使用此方法将其扩展到数组中的所有元素,并选择最大的元素

int[] a = {4758322, 10000 , 5748883 ,2754331};
    int max = 0;
    int target = 0;

    for(int i : a){

        int maxFrequencyi = maxFrequency(i);
        if(max < maxFrequencyi){
            max = maxFrequencyi;
            target = i;
        }
    }
  return target;
int[]a={47583221000057488832754331};
int max=0;
int目标=0;
对于(int i:a){
int maxFrequencyi=maxFrequency(i);
如果(最大<最大频率){
max=maxFrequencyi;
目标=i;
}
}
回报目标;

你想给我们看一些你尝试过的代码吗?我不明白,你能提供更多的例子和解释吗