import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param weightsA int整型一维数组
* @param weightsB int整型一维数组
* @return int整型
*/
public static LinkedList<LinkedList<Integer>> lists = new LinkedList<>();
public int findMode (int[] weightsA, int[] weightsB) {
// write code here
Map<Integer, Integer> map = new HashMap<>();
int index1 = 0, index2 = 0;
while (index1 < weightsA.length && index2 < weightsB.length) {
map.put(weightsA[index1], map.getOrDefault(weightsA[index1], 0) + 1);
map.put(weightsB[index2], map.getOrDefault(weightsB[index2], 0) + 1);
index1++;
index2++;
}
while (index1 < weightsA.length ) {
map.put(weightsA[index1], map.getOrDefault(weightsA[index1], 0) + 1);
index1++;
}
while (index2 < weightsB.length) {
map.put(weightsB[index2], map.getOrDefault(weightsB[index2], 0) + 1);
index2++;
}
List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(new Comparator<Map.Entry<Integer, Integer>>() {
@Override
public int compare(Map.Entry<Integer, Integer> o1,
Map.Entry<Integer, Integer> o2) {
if (o1.getValue() < o2.getValue()) {
return 1;
} else if (o1.getValue() == o2.getValue()) {
return o2.getKey() - o1.getKey();
} else {
return -1;
}
}
});
int weight = 0;
for (Map.Entry<Integer, Integer> myMap : list) {
weight = myMap.getKey();
break;
}
return weight;
}
}
本题考察的知识点主要是重复元素的统计,所用编程语言是java.我们可以考虑用一个键值对来对重复元素进行统计,键值是元素值,对应的是重复元素的个数。

京公网安备 11010502036488号