LeetCode - Arrays - Lucky Integer in an Array Given an array of integers arr, a lucky integer is an integer which has a frequency in the array equal to its value. Return a lucky integer in the array. If there are multiple lucky integers return the largest of them. If there is no lucky integer return -1. Example 1: Input: arr = [2,2,3,4] Output: 2 Explanation: The only lucky number in the array is 2 because frequency[2] == 2. class Solution { public int findLucky(int[] arr) { if(arr.length == 0) return -1; Map<Integer,Integer> luckymap = new TreeMap<Integer,Integer>(); for(int i:arr){ luckymap.put(i,luckymap.getOrDefault(i,0)+1); } List<Integer> luckylist = new ArrayList<Integer>(); for(int i:luckymap.keySet()){ if(i == luckymap.get(i)) luckylist.add(i); } //System.out.println(luckylist); if(luckylist.size()<1) return -1; else return luckylist.get(luckylist.size()-1); } }