Java 最多重复元素
2023-01-10阅读(322)
问:java 返回数组连续重复元素的最大次数
- 答:你程序的逻辑是前后相等就加1,所以在在上面的1,1计数了1次,在中间4个3就是3次,加上最后的三个3是2次,结果当然就是6了。要改的话,前面的判断没啥必要可以去掉,改成
public static int maxNumRepeated(int[] a, int elem)
{
int cont = 0;
int maxNum = 0;
for (int i = 0; i < a.length; i++)
{
if (a[i] == elem)
{
cont++;
if (cont > maxNum) maxNum = cont;
}
else cont = 0;
}
return maxNum;
} - 答:使用里面的案例,测试过的。
~~~~~~~~~~~~~~~~~~~~~~~~~
问:java集合里如何判断中出现最多的元素
- 答:将此集合中所以的元素,放入一个Map中,统计一下:
比如所有的元素为String类型,存放于list中,
Map<String,Integer> map=new HashMap<String,Integer>();
for(String s:list)
{
if(map.containsKey(s))
{
int qty=map.get(s);
map.put(s,qty+1);
}
else
{
map.put(s,1);
}
}
到这儿,再统计一下map中的最大值就可以了。
问:一个数组中有N个元素,找出其中重复次数最多的那个元素? JAVA LIST 集合
- 答:我是这样想的:你可以设置一个计数的int变量,依次检查数组中的数没遇到相等的就++;然后和前一个比较完的计数值比较,大于保留,小于舍去,最后需要的是计数值最大所对应的那个值。