https://leetcode.com/problems/find-lucky-integer-in-an-array/description/

class Solution {
public int findLucky(int[] arr) {
Map<Integer, Integer> map = new HashMap<>();
int max = 0;
for(int n : arr) {
map.put(n, map.getOrDefault(n,0) + 1);
}
for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
int value = entry.getValue();
int key = entry.getKey();
if(value == key) {
max = Math.max(max, key);
}
}
return max == 0 ? -1 : max;
}
}