import
java.util.*;
public
class
DifferentFrequencyElement {
static
int
findElement(
int
[] arr) {
HashMap<Integer, Integer> freq =
new
HashMap<>();
for
(
int
i =
0
; i < arr.length; i++) {
freq.put(arr[i], freq.getOrDefault(arr[i],
0
) +
1
);
}
int
firstFreq = -
1
, secondFreq = -
1
, thirdFreq = -
1
;
int
firstElement = -
1
, secondElement = -
1
, thirdElement = -
1
;
for
(Map.Entry<Integer, Integer> entry : freq.entrySet()) {
int
element = entry.getKey();
int
frequency = entry.getValue();
if
(firstFreq == -
1
) {
firstFreq = frequency;
firstElement = element;
}
else
if
(frequency == firstFreq) {
secondFreq = frequency;
secondElement = element;
}
else
if
(frequency == secondFreq) {
thirdFreq = frequency;
thirdElement = element;
}
else
{
return
element;
}
}
if
(secondFreq == firstFreq && secondFreq != thirdFreq)
return
thirdElement;
if
(secondFreq == thirdFreq && secondFreq != firstFreq)
return
firstElement;
if
(firstFreq == thirdFreq && secondFreq != firstFreq)
return
secondElement;
for
(Map.Entry<Integer, Integer> entry : freq.entrySet()) {
if
(entry.getValue() != firstFreq)
return
entry.getKey();
}
return
-
1
;
}
public
static
void
main(String[] args) {
int
[] arr = {
0
,
1
,
2
,
4
,
4
};
int
result = findElement(arr);
System.out.println(result);
}
}